在长数据框中更改具有相同前缀的不同组的名称

时间:2015-09-18 19:09:46

标签: r data-manipulation

我有一个长格式的数据框,我希望合并具有相同前缀的不同组。我正在使用的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的平均值。

如果有人可以帮助我,我将非常感激。

1 个答案:

答案 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)