[英]R extract data frame from list without prefixes in column names
我在列表中放置了一个数据框。 然后当尝试将其提取回来时 - 我得到所有列名称都以此数据框的列表键为前缀,有没有办法提取数据帧与最初传递完全一样?
cols<-c("column1", "Column2", "Column3")
df1<-data.frame(matrix(ncol = 3, nrow = 1))
colnames(df1)<-cols
df1
result<-list()
result['df1']<-list(df1)
newdf1<-as.data.frame(result['df1'])
newdf1
得到结果(列名以df1为前缀):
> cols<-c("column1", "Column2", "Column3")
> df1<-data.frame(matrix(ncol = 3, nrow = 1))
> colnames(df1)<-cols
> df1
column1 Column2 Column3
1 NA NA NA
>
> result<-list()
> result['df1']<-list(df1)
>
> newdf1<-as.data.frame(result['df1'])
> newdf1
df1.column1 df1.Column2 df1.Column3
1 NA NA NA
当然,我可以手动删除前缀,但可能有一个正确的方法来执行此操作。 谢谢!
使用[[
而不是[
:]提取
> newdf1 <- as.data.frame(result[['df1']])
> newdf1
column1 Column2 Column3
1 NA NA NA
不同之处在于[
提取包含所请求组件的列表。 [[
直接提取所请求的组件(即它检索列表中该组件的内容,而不是包含该组件的列表)。
但由于df1
已经是一个数据框,为什么不这样做:
newdf1 <- result[['df1']]
? 您不需要as.data.frame()
部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.