Как сделать среднее значение для каждой строки моих данных? - PullRequest
0 голосов
/ 07 ноября 2018

так что мои данные выглядят так:

 data1  data2  data3 data4
 1      2      3     4
 2      3      4     5
 3      4      5     6

Я хочу взять среднее из первых трех столбцов данных для каждой строки и получить продукт вроде этого:

 mean_123  data4
 2         4
 3         5
 4         6

Я знаю, что мне, вероятно, понадобится цикл for. Мои данные поступают из фрейма данных, который содержит 4 столбца данных.

Давайте назовем это "data_frame_1"

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

С base R, просто используйте data.frame(mean_123 = rowMeans(data_frame_1[1:3]), data4 = data_frame_1$data4)

#  mean_123 data4
#1        2     4
#2        3     5
#3        4     6
0 голосов
/ 07 ноября 2018

Вот решение dplyr, которое использует rowwise() для вычисления среднего значения строки. Я использовал transmute() здесь, потому что казалось, что вы хотели отбросить столбцы, используемые для генерации средств. Если вы хотите сохранить их, используйте mutate(). Надеюсь, это поможет - удачи!

Код:

library("dplyr")

mean_df <- rowwise(df) %>%
  transmute(mean_123 = mean(c(data1,data2,data3)),
            data4 = data4)

Выход:

# A tibble: 3 x 2
  mean_123 data4
     <dbl> <dbl>
1        2     4
2        3     5
3        4     6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...