gpt4 book ai didi

r - R中跨列的条件变异

转载 作者:行者123 更新时间:2023-12-04 10:19:11 25 4
gpt4 key购买 nike

假设你有一个 tibble像这样:

library(tidyverse)

df<-tibble(person = c("Alice", "Bob", "Mary"),
likes_cheese = c("yes", "yes", NA),
likes_ham = c("no", "yes", "yes"))

# A tibble: 3 x 3
person likes_cheese likes_ham
<chr> <chr> <chr>
1 Alice yes no
2 Bob yes yes
3 Mary NA yes

如何有条件地改变连接字符串的新列?我需要一个可以忽略 NA 的解决方案。

预期结果:
tibble(person = c("Alice", "Bob", "Mary"),
favourite_food = c("cheese", "cheese, ham", "ham"))

# A tibble: 3 x 2
person favourite_food
<chr> <chr>
1 Alice cheese
2 Bob cheese, ham
3 Mary ham

最佳答案

 df %>%
mutate(
favorite_food = paste0(
if_else(likes_cheese == "yes" & !is.na(likes_cheese), "cheese,", ""),
if_else(likes_ham == "yes" & !is.na(likes_ham), "ham", "")
)
) %>%
select(-starts_with("likes"))

# A tibble: 3 x 2
person favorite_food
<chr> <chr>
1 Alice cheese,
2 Bob cheese,ham
3 Mary ham

关于r - R中跨列的条件变异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60947586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com