gpt4 book ai didi

r - 如何轻松地将多个向量组合成一个数据框?

转载 作者:行者123 更新时间:2023-12-02 05:25:43 24 4
gpt4 key购买 nike

我知道我可以使用 data.frame 命令将多个向量组合成一个数据帧,如下所示:

my.data <- data.frame(name1, age1, name20, age20, name38, age38)

(我知道,变量名没有多大意义,为什么我要在三个不同的列中使用 name1、name20 和 name38?请忽略:我的实际变量名不同——这仅用于说明目的) .

问题是,我有大约 40 个这样的向量,而且我还必须在代码的其他部分组合许多向量。所以对我来说,不要每次都复制粘贴一大块代码会很方便。所以我想围绕这个写一个 for 循环:

for (i in c("name", "age", "hgt"))
{
for (k in c(1,20,38))
{
my.data$i,as.character(k) <- data.frame(get(paste(i,as.character(k),sep="")))
}
}

但这行不通。这是因为我应该围绕这段代码编写“paste()”,还是这只是解决此问题的一种糟糕方法?遍历 i 和 k 并获得“newdata”数据框作为最终结果并将所有向量作为附加列的正确方法是什么?

最佳答案

您是否正在尝试实现以下目标?

name1 <- letters[1:10]
age1 <- 1:10
name20 <- letters[11:20]
age20 <- 11:20
name38 <- LETTERS[1:10]
age38 <- 21:30

paste.pattern <- paste(rep(c("name", "age"), times = 3),
rep(c(1, 20, 38), each = 2), sep = "")

newdata <- data.frame(sapply(paste.pattern, get))

关于r - 如何轻松地将多个向量组合成一个数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13105888/

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