我是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 ..我... 3。
任何建议?
答案 0 :(得分:1)
您可以使用colnames
功能设置变量名称。因此,您的代码看起来像:
newdat <- cbind(IA, rand1, rand[2:5])
colnames(newdat) <- c(colnames(IA), paste0("rand", 1:5))
答案 1 :(得分:0)
做cbind(IA, rand1, rand[2:5])
。
答案 2 :(得分:0)
如果您在循环中创建变量,则可以在循环期间指定名称
alldata <- data.frame(IA)
for (i in 1:5) {alldata[, paste0('rand', i)] <- rand[[i]]}
但是,R在循环中确实很慢,所以如果您尝试使用数万列来执行此操作,cbind
和重命名方法会更快。