使用for循环向数据帧添加列
我是R的新手,这似乎不是一个困难的任务,但我似乎找不到我想要的答案。我试图使用for循环将多个向量添加到数据帧中。这就是我到目前为止所做的,它可以添加正确的列,但变量名不正确。我可以通过使用rename.vars来修复它们,但我想知道是否有不这样做的方法使用for循环向数据帧添加列,r,R,我是R的新手,这似乎不是一个困难的任务,但我似乎找不到我想要的答案。我试图使用for循环将多个向量添加到数据帧中。这就是我到目前为止所做的,它可以添加正确的列,但变量名不正确。我可以通过使用rename.vars来修复它们,但我想知道是否有不这样做的方法 for (i in 1:5) { if (i==1) { alldata<-data.frame(IA, rand1) } else { alldata<-data.frame(alldata, ra
for (i in 1:5) {
if (i==1) {
alldata<-data.frame(IA, rand1) }
else {
alldata<-data.frame(alldata, rand[[i]]) }
}
for(1:5中的i){
如果(i==1){
alldata只需执行cbind(IA,rand1,rand[2:5])
您可以使用colnames
函数设置变量名。因此,您的代码如下所示:
newdat <- cbind(IA, rand1, rand[2:5])
colnames(newdat) <- c(colnames(IA), paste0("rand", 1:5))
newdat如果在循环中创建变量,可以在循环过程中指定名称
alldata <- data.frame(IA)
for (i in 1:5) {alldata[, paste0('rand', i)] <- rand[[i]]}
alldata我试过了,变量名仍然不是我想要的。例如,rand2名称是“c(0.769488322349677,1.02808554936668,1.07762946633772,1.1976398531684”,这是变量的前4个值。不是rand2,rand[2]
。为什么您希望名称为rand2
?对象名称为rand
,您要求在rand
中输入第二个元素。您是否命名了第二个元素?