【发布时间】:2017-06-26 02:25:06
【问题描述】:
[使用 R 3.2.2]
我正在尝试使用循环修改数据框中包含的几个变量的值。具体来说,我想将 11 个变量的所有值除以 10。
首先,我尝试为一个变量(bio1)做这件事:
dataframe0$bio1/10
这个命令在控制台显示我想要得到的结果,但是在数据框中并没有修改。
在尝试构建循环时,我想出了一些选择:
首先,我创建了一个包含所有变量的向量,然后构建了循环:
vlist <- c("bio1", "bio2", "bio3", "bio4", "bio5", "bio6", "bio7", "bio8", "bio9", "bio10", "bio11")
for (i in vlist) {
dataframe0$i/10
}
由于前面的代码可能替换了 ´ ".." ´ 以及循环内的字符串 (´i´),因此它不起作用,我尝试使用另一个循环:
for(var in paste0("bio", 1:11)) {
dataframe0$var/10
}
我应该怎么做才能执行它并将修改保存在数据框中?提前致谢!
【问题讨论】:
-
如果您能确定您正在使用的编程语言和框架/库,这将有所帮助。将其添加到标签部分,以便对这些感兴趣的人可以轻松找到您的答案并回答。
-
@JeromeFr 谢谢!我没有与这些代码关联的库...
-
尝试 apply(dataframe0,2,function(x) x/10) 或 apply(dataframe0[,which(grepl("bio",names(datafram0)))],2,function(x ) x/10)
-
@Leo P. 它有效!非常感谢!!!
-
很高兴我能帮上忙。
标签: r loops variables dataframe