【发布时间】:2018-06-17 11:02:45
【问题描述】:
我将三个数据框组合在一个列表中
d1 <- data.frame(y1 = c(1, 2, 3), y2 = c(4, 5, 6))
d2 <- data.frame(y1 = c(3, 2, 1), y2 = c(6, 5, 4))
d3 <- data.frame(y1 = c(5, 7, 8),y2 = c(6, 4, 2))
my.list <- list(d1, d2,d3)
我想提取列表中每个元素的第一行,将它们逐行绑定并保存为 csv 文件。
例如,在上面的例子中,我想从d1、d2和d3中提取第一行
row1.d1 <- c(1,4)
row1.d2 <- c(3,6)
row1.d3 <- c(5,6)
将它们绑定在一起
dat <- rbind(row1.d1,row1.d2,row1.d3)
dat
row1.d1 1 4
row1.d2 3 6
row1.d3 5 6
然后对所有行重复。
如果我有一个向量列表,我找到了一种方法,
A=list()
A[[1]]=c(1,2)
A[[2]]=c(3,4)
A[[3]]=c(5,6)
sapply(A,'[[',1)
但是对于数据框,我不知道该怎么做。
【问题讨论】:
-
另外,
t(sapply(my.list, head, 1))。