Получить среднее значение по всем комбинациям определенного размера в столбце - PullRequest
1 голос
/ 24 января 2020

У меня есть фрейм данных со следующими значениями:

data= structure(list(rating = c(5L, 1L, 7L, 6L, 2L, 2L)), row.names = c(NA, 
-6L), class = "data.frame")

У меня есть 20 различных вариантов выбора 3 значений из столбца рейтинга (3 выберите 6). Я хотел бы создать вектор, который даст мне средние значения всех возможных комбинаций (всего 20 средних).

Я не мог найти способ сделать это с R. Было бы здорово, если у вас есть идея.

Спасибо!

1 Ответ

1 голос
/ 24 января 2020

Мы можем использовать combn, чтобы получить комбинации выбора 3 значений и использовать colMeans в полученном matrix

colMeans(combn(data$rating, 3))
#[1] 4.333333 4.000000 2.666667 2.666667 6.000000 4.666667 4.666667 4.333333 4.333333 3.000000 4.666667 3.333333 3.333333 3.000000 3.000000
#[16] 1.666667 5.000000 5.000000 3.666667 3.333333

Или использовать FUN

combn(data$rating, 3, FUN = mean)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...