Уменьшить таблицу в R - PullRequest
       4

Уменьшить таблицу в R

2 голосов
/ 13 октября 2011

У меня есть таблица, которая имеет формат в соответствии с

user  data
1234  42
1234  51
1234  50
1235  61
1235  55

Я хочу создать гистограмму усредненных «данных» на основе данных пользователя. Другими словами, я хотел бы объединить строки таблицы с одинаковыми значениями userID и получить среднее значение для них. Как бы я сделал это на большом наборе данных?

Ответы [ 3 ]

5 голосов
/ 13 октября 2011

Просто используйте tapply (при условии, что ваш исходный фрейм данных называется dat):

avgdata=tapply(dat$data,dat$user,FUN=mean)
hist(avgdata)
1 голос
/ 04 марта 2012

Во-первых, давайте воспроизведем ваши данные:

user <- c(rep("1234", 3), rep("1235", 2))
data <- c(42, 51, 50, 61, 55)
df   <- data.frame(user, data)

Теперь для однострочного решения:

aggregate(data ~ user, df, mean)
1 голос
/ 13 октября 2011
user_mean = tapply(data, user, mean)
hist(user_mean, breaks = 30)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...