2016-03-01 83 views
0
dfmerge_BR = read.csv(file ="dfmerge_BR.csv", header=TRUE) 
dfmerge_CO = read.csv(file ="dfmerge_CO.csv", header=TRUE) 
dfmerge_BL = read.csv(file ="dfmerge_BL.csv", header=TRUE) 
dfmerge_KC = read.csv(file ="dfmerge_KC.csv", header=TRUE) 
dflist <- list(dfmerge_BR,dfmerge_CO,dfmerge_BL, dfmerge_KC) 

new_list <- lapply(dflist, function(x) x[1,]) 

} 

我在这里有四个不同的csv文件,我读它们并将它们放入列表中。我遍历数据框列表,以便选择每个数据框的第一行(现在是列表的组件)并将它们分配给new_list。 现在我想提取列表的每个组件。 但是当我做列表的组成部分

a <- new_list[[1]] 
b <- new_list[[2]] 

当我认为这两个向量,向量b的所有值作为NA和也是为什么a和b是不是数据帧,但矢量?

+3

'lapply(dflist,head,1)''也许? –

+0

返回与@seekheart答案相同的结果,即矢量不是列表! – vib321

+1

'lapply'按照定义返回一个列表。我不知道你在说什么。试试'class(lapply(dflist,head,1))'。列表也是一个向量btw。而'data.frame'也是一个列表。尝试'lapply(lapply(dflist,head,1),is.list)'这样你的陈述就无效了。 –

回答

3

如果你想每个数据帧的第一个,然后做到这一点。

new_list <- lapply(dflist, function(x) x[1,]) 
+4

或者'''lapply(dflist,'[',1,'''' –