将每个组的每个值与组的最小值进行比较
Comparing each values of each group to the minimum of the group
我有按年分组的数据。我想用 NA 替换 x>(minimum+2) 的每个数据。每年变化最少。
我正在考虑使用 ddply 按年份提取最小值,但我不知道如何将每年的每个值与其特定的最小值进行比较...
非常感谢。
New <- Ancian %>%
group_by(Years) %>%
mutate_if(New$Data1, ~ replace(., . > (min(., na.rm = TRUE) + 2), NA))
我试过了,但是没用...
还尝试在 group_by 之后执行 "if" 函数,但也没有结果...
group_by(Years) %>%
if(New$Data1 > (min(New$Data, na.rm = TRUE) + 2)) {
New$Data1 <- NA }
我们可以在按 'years'
分组后使用 mutate_if
library(dplyr)
df1update <- df1 %>%
group_by(years) %>%
mutate_if(is.numeric, ~ replace(., . > (min(., na.rm = TRUE) + 2), NA))
如果我们只需要对单个变量执行此操作
df1update <- df1 %>%
group_by(years) %>%
mutate(Data1 = replace(Data1, Data1 > (min(Data1, na.rm = TRUE) + 2), NA))
我有按年分组的数据。我想用 NA 替换 x>(minimum+2) 的每个数据。每年变化最少。 我正在考虑使用 ddply 按年份提取最小值,但我不知道如何将每年的每个值与其特定的最小值进行比较...
非常感谢。
New <- Ancian %>%
group_by(Years) %>%
mutate_if(New$Data1, ~ replace(., . > (min(., na.rm = TRUE) + 2), NA))
我试过了,但是没用... 还尝试在 group_by 之后执行 "if" 函数,但也没有结果...
group_by(Years) %>%
if(New$Data1 > (min(New$Data, na.rm = TRUE) + 2)) {
New$Data1 <- NA }
我们可以在按 'years'
分组后使用mutate_if
library(dplyr)
df1update <- df1 %>%
group_by(years) %>%
mutate_if(is.numeric, ~ replace(., . > (min(., na.rm = TRUE) + 2), NA))
如果我们只需要对单个变量执行此操作
df1update <- df1 %>%
group_by(years) %>%
mutate(Data1 = replace(Data1, Data1 > (min(Data1, na.rm = TRUE) + 2), NA))