Как создать новый фрейм данных со средним из 2 столбцов, сгруппированных по другой переменной, используя dplyr? - PullRequest
0 голосов
/ 25 августа 2018

У меня есть следующий фрейм данных (называемый df1) в R.

dept     salary1     salary2
 A         1000        1500
 A         3000        2500
 B         1500        1300
 C         4000        4200
 C         2900        1800
 C         1300         900
 D         6000        5200
 D         8000        8400

Я хочу преобразовать этот фрейм данных в следующий (называемый df2):

dept     MeanSalary1    MeanSalary2
 A         2000           2000
 B         1500           1300
 C         2733           2300
 D         7000           6800

Как я могу сделать это, используя dplyr?

1 Ответ

0 голосов
/ 25 августа 2018

Вы можете использовать summarise_all для расчета среднего значения для всех столбцов.

library(dplyr)

df2 <- df1 %>%
  group_by(dept) %>%
  summarise_all(funs(Mean = mean(.))) %>%
  ungroup()
df2
# # A tibble: 4 x 3
#   dept  salary1_Mean salary2_Mean
#   <chr>        <dbl>        <dbl>
# 1 A            2000          2000
# 2 B            1500          1300
# 3 C            2733.         2300
# 4 D            7000          6800

ДАННЫЕ

df1 <- read.table(text = "dept     salary1     salary2
 A         1000        1500
 A         3000        2500
 B         1500        1300
 C         4000        4200
 C         2900        1800
 C         1300         900
 D         6000        5200
 D         8000        8400",
                  stringsAsFactors = FALSE, header = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...