首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中多观测值的变化

R中多观测值的变化
EN

Stack Overflow用户
提问于 2022-06-29 14:19:10
回答 1查看 35关注 0票数 -1

在数据集中,“零不良心理健康日”的值是88。我想把这个数字改为0,这样我就可以得到宾夕法尼亚州心理健康不良的平均天数。

代码语言:javascript
运行
复制
avgMHNotGoodPenn <- brfss2 %>%
  select(menthlth, state)%>%
  filter(state == '42') %>%
  mutate(replace(value=88, 0),
         avgMHNotGood= mean(menthlth))%>%
  select(menthlth, avgMHNotGood)%>%
  head(1)

这段代码平均返回62.4,但没有用0替换88s。

EN

回答 1

Stack Overflow用户

发布于 2022-06-29 14:26:47

可以使用ifelse为数据帧brffs分配新值。

代码语言:javascript
运行
复制
brfss2 <- data.frame(menthlth = c(0, 1, 40, 88))
brfss2
#>   menthlth
#> 1        0
#> 2        1
#> 3       40
#> 4       88
brfss2$menthlth <- ifelse(brfss2$menthlth == 88, 0, brfss2$menthlth)
brfss2
#>   menthlth
#> 1        0
#> 2        1
#> 3       40
#> 4        0

如果不想更改原始值,也可以在dplyr链中这样做:

代码语言:javascript
运行
复制
library(dplyr)
brfss2 <- data.frame(menthlth = c(0, 1, 40, 88))
brfss2 %>%
  mutate(menthlth = ifelse(menthlth == 88, 0, menthlth))
#>   menthlth
#> 1        0
#> 2        1
#> 3       40
#> 4        0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72802990

复制
相关文章

相似问题

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