列Aと列Bのデータフレームがあります。Aのすべてのnull値を取得し、Bの値に基づいてそれらを置き換える関数の作成についてサポートが必要です。列Bの値が「VeryGood」または「Good」の場合、次に、Aに「Home」を配置する必要があります。列Bの値が「Fair」または「Bad」の場合、Aに「Foreign」を配置する必要があります。最後に、列Bの値が「VeryBad」の場合または「最悪」の場合は、「中央」をAに配置する必要があります。
#Here's the data:
df <- structure(list(`A` = c("Home", NA, "Foreign", NA, "Central", NA),
`B` = c("Good", "Very Good", "Bad", "Fair", "Very Bad", "Worst")),
row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))
#Here's how the data look
A B
1 Home Good
2 NA Very Good
3 Foreign Bad
4 NA Fair
5 Central Very Bad
6 NA Worst
#Here's the expected result
A B
1 Home Good
2 Home Very Good
3 Foreign Bad
4 Foreign Fair
5 Central Very Bad
6 Central Worst
library(dplyr)
df %>% mutate(tmp = case_when(B %in% c("Good", "Very Good") ~ "Home",
B %in% c("Bad", "Fair") ~ "Foreign",
B %in% c("Very Bad", "Worst") ~ "Central")) %>%
mutate(A = if_else(is.na(A),tmp,A)) %>%
select(-tmp)
#> # A tibble: 6 x 2
#> A B
#> <chr> <chr>
#> 1 Home Good
#> 2 Home Very Good
#> 3 Foreign Bad
#> 4 Foreign Fair
#> 5 Central Very Bad
#> 6 Central Worst
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加