gpt4 book ai didi

r - 在变异中使用 case_when 时是否需要数据框名称?

转载 作者:行者123 更新时间:2023-12-04 20:33:37 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





case_when in mutate pipe

(6 个回答)


5年前关闭。



full <- full %>% 
mutate(Title = case_when(
Title %in% c('Mlle', 'Ms') ~ 'Miss',
Title == 'Mme' ~ 'Mrs',
Title %in% rare_title ~ 'Rare Title',
TRUE ~ Title
))

上面的代码给出了一个错误: Error in eval(substitute(expr), envir, enclos) : object 'Title' not found
但是,下面的代码有效。 case_when 中是否需要数据框名称(使代码更冗长)。
full <- full %>% 
mutate(Title = case_when(
full$Title %in% c('Mlle', 'Ms') ~ 'Miss',
full$Title == 'Mme' ~ 'Mrs',
full$Title %in% rare_title ~ 'Rare Title',
TRUE ~ full$Title
))

最佳答案

我们可以使用.$而不是调用 full$

full <- full %>% 
mutate(Title = case_when(
.$Title %in% c('Mlle', 'Ms') ~ 'Miss',
.$Title == 'Mme' ~ 'Mrs',
.$Title %in% rare_title ~ 'Rare Title',
TRUE ~ .$Title
))

数据
set.seed(24)
full <- data.frame(Title = sample(c('Mlle', 'Ms', 'Mme', 'Colonel', 'Jr'), 20,
replace=TRUE), stringsAsFactors= FALSE)
rare_title <- 'Colonel'

关于r - 在变异中使用 case_when 时是否需要数据框名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40445057/

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