我在R中有一个for循环,我想在名为rand1,rand2,rand3等的数据框中创建10个不同的变量...这里是我第一次尝试:在列名中使用for变量添加到R中的数据框中
for (rep in 1:10) {
assign(paste('alldata200814$rand', rep, sep=""), runif(nrow(alldata200814), 0, 1))
}
,但不工作 - 没有错误/警告信息,所以我不知道为什么,但是当我试图提交
alldata200814$rand1
它说,这是NULL 。 于是我改变了for循环:
for (rep in 1:10) {
assign(paste('rand', rep, sep=""), runif(nrow(alldata200814), 0, 1))
}
并创建变量RAND 1 - rand10,但现在我想将其连接到我的数据帧。所以我尝试过:
for (rep in 1:10) {
assign(paste('rand', rep, sep=""), runif(nrow(alldata200814), 0, 1))
alldata200814 <- cbind(alldata200814, paste('rand', rep, sep=""))
}
但这只是在每行中创建'rand1','rand2','rand3'等的列。然后我做这个很接近:
for (rep in 1:10) {
data<-assign(paste('rand', rep, sep=""), runif(nrow(alldata200814), 0, 1))
alldata200814 <- cbind(alldata200814, data)
}
但名称随机数的全部10列的“数据”时,我想他们是“RAND 1”,“RAND 2”,“rand3”,等等。我不确定如何在循环中重命名它们。我以前这个程序在10条不同的线,如:
alldata200814$rand1<-runif(nrow(alldata200814), 0, 1)
但我可能不得不这样做100次,而不是只有10个,所以我需要找到一种更好的方式来做到这一点。任何帮助表示赞赏,让我知道如果你需要更多的信息。谢谢!
你应该拿到奖牌只为从开始到结束读他的问题,我在第200线某处退出... –
@DavidArenburg当我点击'assign(粘贴('alldata200814 $ rand'...'在愤怒中,而不是在OP上时,我停止阅读,但是新来的R人经常陷入这个陷阱,我不知道为什么。在众神中握拳> – joran