在长数据框中更改具有相同前缀的不同组的名称
Change the name of different groups with same prefix in a long data frame
我有一个长格式的数据框,我想合并具有相同前缀的不同组。我正在使用的 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 的平均值。
如果有人能帮助我,我将不胜感激。
穆里略
如果您只需要保留每个值的前两个字符(如您的示例数据),那么您可以这样做:
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)
我有一个长格式的数据框,我想合并具有相同前缀的不同组。我正在使用的 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 的平均值。
如果有人能帮助我,我将不胜感激。
穆里略
如果您只需要保留每个值的前两个字符(如您的示例数据),那么您可以这样做:
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)