У меня есть следующие следующего кадра данных («mydf»):Закрепление подобные (но не равные) строк и подсчета отличающуюся категориальной переменной в R
ID Type Count Mark
U1 A 50 R1
U1 A 50 R3
U1 A 50 R4
U1 A 50 R3
U2 B 24 R2
U2 B 24 R5
U3 A 88 R1
Каждая строка содержит 4 переменные:
ID: идентификатор пользователя.
Тип: тип пользователя, который категорическое и последовательно для всех строк с этим идентификатором.
Граф: подсчет пользователя, который является непрерывным и последовательно для всех строк с этим идентификатором.
Марк: один из 15 категорных символов, которые могут варьироваться между различными строк с одинаковым идентификатором.
В настоящее время существует одна строка для каждой марки, которая появляется, так что на каждый идентификатор имеется несколько строк.
Количество меток различно для разных идентификаторов (всего от 4 до 50).
Что необходимо сделать:
Объединить строки с одинаковым идентификатором в одну строку, которая содержит всю последовательную информацию (тип/Count), а также перечисление (или количество) всех отметок, которые появляются для этого идентификатора. В этом листинге должно быть указано, как часто каждая метка появляется для этого идентификатора (например, если один и тот же знак отображается дважды для одного идентификатора, это необходимо отразить, как это происходит для U1 в строках 2 и 4).
Получите подсчет количества раз, когда каждая метка появляется для каждого идентификатора.
Получить общее количество меток для каждого ID.
Список меток для каждого идентификатора не требуется, если существуют подсчеты, описанные в 2 и 3 (см., Например, ожидаемый результат ниже).
Ожидаемый результат (приблизительно):
ID Type Count Mark_R1 Mark_R2 Mark_R3 Mark_R4 Mark_R5 Mark_Total
U1 A 50 1 0 2 1 0 3
U2 B 24 0 1 0 0 1 2
U3 A 88 1 0 0 0 0 1
Спасибо за вашу помощь!
'библиотека (reshape2); dcast (mydf, ID + Type + Count ~ Mark, поля = "Mark") ' –
@DavidArenburg: Это сработало отлично, спасибо. – Thredolsen