我正在嘗試根據前一個變數中獲得的值洗掉一個變數中的一些 NA,但我沒有成功...
提前致謝!
有兩個變數:info_geo和info_geo_actzd。如果前一個的答案是“否”,我希望答案info_geo_actzd從“NA”變為“否”。其余的答案我想和現在一樣
我嘗試了各種方法,但我不能正確地做到這一點
db <- db %>%
mutate(info_geo_actzd = case_when(
info_geo == 'No' ~ "No",
TRUE ~ .))
db <- db %>%
mutate(info_geo_actzd=ifelse('info_geo' == 'No' & 'info_geo_actzd' == 'NA', No))
我也試過這個但沒有結果
db <- db %>%
mutate(info_geo_actzd = case_when(
any(info_geo == 'No') ~ 'NA',
TRUE ~ .))
提前致謝
uj5u.com熱心網友回復:
將.回傳資料集而不是列。如果NAs 未加引號,則用于is.na創建邏輯向量并將其分配給"No"or else ( TRUE) 回傳原始列info_geo
library(dplyr)
db <- db %>%
mutate(info_geo_actzd = case_when(
is.na(info_geo) ~ "No",
TRUE ~ info_geo))
對于不止一列,回圈遍歷列(列索引或列名 - 未參考或參考,或者如果列名中有任何模式,將它們包裝在 select-helpers 中 -contains/matches/starts_with/ends_with等等)
db <- db %>%
mutate(across(starts_with("info"), ~ case_when(is.na(.x) ~ "No",
TRUE ~ .x), .names = "{.col}_actzd"))
uj5u.com熱心網友回復:
現在可以用了,非常感謝!!!
如果我想對資料庫中的多個變數執行相同的操作,我該怎么辦?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/529908.html
