簡體   English   中英

如何更改R中多個觀察值的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM