R 基于其他列查找列值之和

R 基于其他列查找列值之和,r,dataframe,R,Dataframe,假设我有一个data.framedf,如下所示: df <- tribble( ~id, ~name, ~group, ~score, 01, "john", "group_1", 80, 01, "john", "group_3", 85, 01, "john", "group_2",

假设我有一个
data.frame
df,如下所示:

df <- tribble(
  ~id,  ~name,  ~group,      ~score,      
  01,  "john",  "group_1",      80,
  01,  "john",  "group_3",      85,
  01,  "john",  "group_2",      75,
  02,  "adam",  "group_2",      80,
  02,  "adam",  "group_1",      85
)

df您可以使用这个。我假设您希望使用
group
列值对数据进行分组

library(dplyr)

data <- tribble(
  ~id,  ~name,  ~group,      ~score,      
  01,  "john",  "group_1",      80,
  01,  "john",  "group_3",      85,
  01,  "john",  "group_2",      75,
  02,  "adam",  "group_2",      80,
  02,  "adam",  "group_1",      85
)

data %>% 
  group_by(group) %>%
  summarise(avg = mean(score, na.rm = TRUE))

# A tibble: 3 x 2
  group     avg
  <chr>   <dbl>
1 group_1  82.5
2 group_2  77.5
3 group_3  85 

库(dplyr)
数据%
分组依据(分组)%>%
总结(平均值=平均值(分数,na.rm=真实值))
#一个tibble:3x2
组平均值
1组_1 82.5
2组2 77.5
3组3 85

您可以使用这个。我假设您希望使用
group
列值对数据进行分组

library(dplyr)

data <- tribble(
  ~id,  ~name,  ~group,      ~score,      
  01,  "john",  "group_1",      80,
  01,  "john",  "group_3",      85,
  01,  "john",  "group_2",      75,
  02,  "adam",  "group_2",      80,
  02,  "adam",  "group_1",      85
)

data %>% 
  group_by(group) %>%
  summarise(avg = mean(score, na.rm = TRUE))

# A tibble: 3 x 2
  group     avg
  <chr>   <dbl>
1 group_1  82.5
2 group_2  77.5
3 group_3  85 

库(dplyr)
数据%
分组依据(分组)%>%
总结(平均值=平均值(分数,na.rm=真实值))
#一个tibble:3x2
组平均值
1组_1 82.5
2组2 77.5
3组3 85

此外。为数据创建新列。这是我的安卓系统给我的第一个答案。这有点笨拙

data %>% 
  group_by(group) %>%
  mutate(avg = mean(score, na.rm = TRUE))

另外。为数据创建新列。这是我的安卓系统给我的第一个答案。这有点笨拙

data %>% 
  group_by(group) %>%
  mutate(avg = mean(score, na.rm = TRUE))

@USER2974951如何聚合分组?尝试:
aggregate(score~group,df,mean)
@USER2974951如何聚合分组?尝试:
aggregate(score~group,df,mean)