gpt4 book ai didi

r - 从多个数据框中选择第一行并绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 07:33:58 26 4
gpt4 key购买 nike

我有三个数据框,我将它们组合在一个列表中

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)

我想提取列表中每个元素的第一行,将它们逐行绑定(bind)并保存为 csv 文件。

例如,在上面的示例中,我想从 d1 中提取第一行, d2d3
row1.d1 <- c(1,4)
row1.d2 <- c(3,6)
row1.d3 <- c(5,6)

并将它们绑定(bind)在一起
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)

但是对于数据框,我不知道该怎么做。

最佳答案

另一种方法如下。您在 my.list 中浏览每个数据框并使用 lapply() 获得第一行.然后你绑定(bind)结果。

do.call(rbind, (lapply(my.list, function(x) x[1,])))

# y1 y2
#1 1 4
#2 3 6
#3 5 6

关于r - 从多个数据框中选择第一行并绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48150776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com