使用 for 循环将列添加到数据框

问题描述 投票:0回答:3

我是 R 新手,似乎这不应该是一项艰巨的任务,但我似乎找不到我正在寻找的答案。我正在尝试使用 for 循环将多个向量添加到数据帧中。这是我到目前为止所拥有的,只要添加正确的列,它就可以工作,但变量名称不正确。我可以通过使用 rename.vars 来修复它们,但想知道是否有办法不这样做。

for (i in 1:5) {
    if (i==1) {
    alldata<-data.frame(IA, rand1) }
    else {
    alldata<-data.frame(alldata, rand[[i]]) }
}

变量名称不是 rand2、rand3、rand4、rand5,而是显示为 rand..i..、rand..i...1、rand..i...2 和 rand..i。 ..3.

有什么建议吗?

r
3个回答
1
投票

您可以使用

colnames
函数设置变量名称。因此,您的代码将类似于:

newdat <- cbind(IA, rand1, rand[2:5])
colnames(newdat) <- c(colnames(IA), paste0("rand", 1:5))

0
投票

e naca [,ta

 d u  b vyar tbeeeslnipirtol si do<ytr-ogihd:] n)wctaelmnalre aaa(aoma .t o
atmlle hrstiou{ adf iir)sy optsc r la I,u dAri ounn upudf < s [nntaolosiir hlw oairngfnllgeihw ( t c}es neivoertfe e noalfaana fu t y rie- ar0u' g ,, a y ' sp1[] oat o,Iawhhdm(oesht,ftr)syosae5oRos 'rnsocdnn .ib]la pmoead raehHcdip ls


0
投票

就做

cbind(IA, rand1, rand[2:5])

© www.soinside.com 2019 - 2024. All rights reserved.