首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改数据帧中变量的值

修改数据帧中变量的值
EN

Stack Overflow用户
提问于 2017-02-08 12:50:52
回答 1查看 185关注 0票数 3

与R 3.2.2合作

我试图使用循环来修改数据帧中包含的几个变量的值。具体来说,我想把11个变量的所有值除以10。

首先,我尝试对一个变量(Bio1)执行此操作:

代码语言:javascript
复制
dataframe0$bio1/10

此命令显示我希望在控制台中获得的结果,但它不会在数据帧中修改它。

在尝试构建循环时,我想出了一些选项:

首先,我用所有变量创建了一个向量,然后构造了循环:

代码语言:javascript
复制
vlist <- c("bio1", "bio2", "bio3", "bio4", "bio5", "bio6", "bio7", "bio8", "bio9", "bio10", "bio11")
for (i in vlist) {
  dataframe0$i/10
}

由于前面的代码可能正在替换“.”以及循环中的字符串(‘i’),因此它无法工作,所以我尝试使用另一个循环:

代码语言:javascript
复制
for(var in paste0("bio", 1:11)) {
  dataframe0$var/10
}

我应该怎么做才能执行它并将修改保存在数据帧中?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-08 13:20:36

最简单的解决办法可能是

代码语言:javascript
复制
dataframe0[,vlist] <- dataframe0[,vlist] / 10

这不需要循环。

示例(为方便起见使用我自己的一些数据):

代码语言:javascript
复制
> head(websurvey[,c("age", "dur")])
      age dur
17514  68 320
15091  70 503
18152  30 276
7558   39 311
22594  47 161
5108   56 284

> websurvey_test[,c("age", "dur")] <- websurvey[,c("age", "dur")]/10

> head(websurvey_test[,c("age", "dur")])
      age  dur
17514 6.8 32.0
15091 7.0 50.3
18152 3.0 27.6
7558  3.9 31.1
22594 4.7 16.1
5108  5.6 28.4
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42113627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档