![](/img/trans.png)
[英]How to conditionally change the value of observations in R when having a list of dataframes
[英]How to change the value of multiple observations in R
我是 R 新手。在數據集中,“零不良心理健康天數”的值為 88。我想將該數字更改為 0,以便獲得該州心理健康不良天數的平均數賓夕法尼亞州。
avgMHNotGoodPenn <- brfss2 %>%
select(menthlth, state)%>%
filter(state == '42') %>%
mutate(replace(value=88, 0),
avgMHNotGood= mean(menthlth))%>%
select(menthlth, avgMHNotGood)%>%
head(1)
此代碼返回的平均值為 62.4,但並未將 88 替換為 0。
您可以使用ifelse
為您的數據框brffs
分配新值:
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 鏈中執行此操作:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.