我有这样的df:
Id count
1 0
1 5
1 7
2 5
2 10
3 2
3 5
3 4
我希望获得最大数量并根据ID将其应用于整个“组”,如下所示:
Id count max_count
1 0 7
1 5 7
1 7 7
2 5 10
2 10 10
3 2 5
3 5 5
3 4 5
我已经尝试了pmax,slice等。我通常无法处理特定于区间的数据;如果你能指引我使用非常适合这类数据的工具,我真的很感激!
答案 0 :(得分:1)
在Gavin Simpson的帮助下计算出来:Aggregate a dataframe on a given column and display another column
maxcount <- aggregate(count ~ Id, data = df, FUN = max)
new_df<-merge(df, maxcount)
更好的方式:
df$max_count <- with(df, ave(count, Id, FUN = max))