gpt4 book ai didi

r - 在任意长的对象列表上使用cbind

转载 作者:行者123 更新时间:2023-12-03 10:13:05 27 4
gpt4 key购买 nike

我想找到一种通过使用cbind()将许多单独的对象连接在一起来创建data.frame的方法。例如,如果A,B,C和D都是相等长度的 vector ,则可以使用以下命令创建data.frame ABCD

ABCD <- cbind(A,B,C,D)

但是,当要合并的对象数量变大时,键入所有名称变得很麻烦。此外,是否有一种方法可以在对象名称的 vector 上调用 cbind(),例如
objs <- c("A", "B", "C", "D")
ABCD <- cbind(objs)

或在包含所有要合并对象的列表中,例如
obj.list <- list(A,B,C,D)
ABCD <- cbind(obj.list)

当前,我能想到的唯一解决方法是使用 paste()cat()write.table()source()构造 cbind()的参数,将其编写为脚本并将其来源。这似乎是一个令人讨厌的恶棍。另外,我已经研究了 do.call(),但似乎找不到找到所需的方法。

最佳答案

do.call函数在这里非常有用:

A <- 1:10
B <- 11:20
C <- 20:11

> do.call(cbind, list(A,B,C))
[,1] [,2] [,3]
[1,] 1 11 20
[2,] 2 12 19
[3,] 3 13 18
[4,] 4 14 17
[5,] 5 15 16
[6,] 6 16 15
[7,] 7 17 14
[8,] 8 18 13
[9,] 9 19 12
[10,] 10 20 11

关于r - 在任意长的对象列表上使用cbind,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5542542/

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