r-将每组的每个值与该组的最小值进行比较



我有按年份分组的数据。我想用NA替换x>(最小值+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 }

我们可以在按"年份"进行分组后使用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))

相关内容

  • 没有找到相关文章

最新更新