我有一个长格式的数据框,我希望合并具有相同前缀的不同组。我正在使用的df的结构如下:
id point variable value
1531 36 P6A area 290
1532 48 P6B area 230
1533 60 P5A area 20
1534 72 P5B area 180
1535 84 P4A area 100
1536 96 P4B area 90
我想把它改成这样的东西:
id point variable value
1531 36 P6 area 260
1533 60 P5 area 100
1535 84 P4 area 80
请注意,新值是PxA和PxB的平均值。
如果有人可以帮助我,我将非常感激。
略
答案 0 :(得分:1)
如果您只需要保留每个值的前两个字符(如示例数据中所示),那么您可以这样做:
library(dplyr)
dfMean = df %>% mutate(point = substr(point, 1,2)) %>%
group_by(point) %>%
summarise(PointMean = mean(value))
基本R选项是使用aggregate
:
df$point2 = substr(df$point, 1,2)
aggregate(value ~ point2, data=df, mean)