gpt4 book ai didi

R 规范的 dplyr 替换方式

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

<分区>

假设你有:

df = data.frame(a = c(1,2,NA),b = c(NA, 1,2))
> df
a b
1 1 NA
2 2 1
3 NA 2

并希望基于 a 创建一个新列 c。如果缺少 a,则使用 b。这有效:

df %>% mutate(c= a,
c = replace(c, is.na(a), b[is.na(a)]))

但是(对我来说,只有我?)看起来很笨拙(从某种意义上说,我必须拼出 is.na(a) 两次)。这更容易:

df %>%
rowwise() %>%
mutate(c = a,
c = replace(c, is.na(a), b]))

但它需要额外的 rowwise() 命令,我可以想象我的 mutate 语句的总和将无法按行工作的情况。

我是否遗漏了一些 dplyr 功能来简化此(非常常见的任务?)?

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