Создание столбцов из факторов и подсчет [дубликат]
На этот вопрос уже есть ответ:
Как получить таблицу непредвиденных расходов? 6 ответов Быстрые способы вычисления частот и приведение от длинного к широкому 4 ответаКазалось бы, легкая проблема - держать меня очень занятым.
У меня есть фрейм данных:
> df1
Name Score
1 Ben 1
2 Ben 2
3 John 1
4 John 2
5 John 3
Я хотел бы создать сводку таблицы следующим образом:
> df2
Name Score_1 Score_2 Score_3
1 Ben 1 1 0
2 John 1 1 1
Так что df2 должен (i) показывать только уникальные «Имена» и (ii) создавать столбцы из уникальных факторов в «Баллах» и (iii) подсчитывать, сколько раз человек получил указанный балл.
Я пытался
df2 <- ddply(df1, c("Name"), summarise
,Score_1 = sum(df1$Score == 1)
,Score_2 = sum(df1$Score == 2)
,Score_3 = sum(df1$Score == 3))
который производит:
Name Score_1 Score_2 Score_3
1 Ben 2 2 1
2 John 2 2 1
Так что моя попытка неверно считаетсявс случаи вместо того, чтобы считать "на группу"
РЕДАКТИРОВАТЬ По комментариям тоже пробовалreshape
(возможно, просто делаю это неправильно):
> reshape(df1, idvar = "Name", timevar = "Score", direction = "wide")
Name
1 Ben
3 John
Для начала, столбец «Оценка» отсутствует, но, что еще хуже, из моего исследованияreshape
, Я не уверен, что я собираюсь получить Счетчик каждого фактора, что и есть весь смысл.