gpt4 book ai didi

r - 将 na.rm=TRUE 与 mutate 中的函数一起使用

转载 作者:行者123 更新时间:2023-12-04 09:17:05 25 4
gpt4 key购买 nike

我正在尝试计算累积总和并使用 mutate 创建新列。我正在为多个列执行此操作,每个列在不同的地方都有缺失的数据。

day    water    nitrogen
1 4 5
2 NA 6
3 3 NA
4 7 NA
5 2 9
6 NA 3
7 2 NA
8 NA 2
9 7 NA
10 4 3

我试试

mutate(df, sumwater = cumsum(water))%>%
mutate(sumnitrogen = cumsum(nitrogen))

mutate(df, sumwater = cumsum(water, na.rm = TRUE))%>%
mutate(sumnitrogen = cumsum(nitrogen, na.rm = TRUE))

两者都不起作用。我知道我们可以在 summarize 函数中执行 na.rm=TRUE。有没有办法让它在 mutate 中工作?我更喜欢 dplyr 答案,因为实际上这是一长串管道的一部分。

最佳答案

您需要为 NA 选择一个替换值。你可以做零。但如果这些是真正的 NA,则平均替换似乎更有意义(或者甚至是几何平均,如果值严格大于 0)

detach("package:dplyr")
library(plyr)
library(dplyr)

mutate(df, sumwater = water %>% mapvalues(NA, 0) %>% cumsum)

mutate(df, sumwater = water %>% mapvalues(NA, mean(water) ) %>% cumsum)

关于r - 将 na.rm=TRUE 与 mutate 中的函数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32958352/

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