Создайте переменные из произвольного числа наблюдений на ID в R - PullRequest
1 голос
/ 10 февраля 2012

Я пытаюсь создать 4 новые переменные из набора данных в R, который содержит различное количество наблюдений для каждого идентификатора (ID). Я хочу обобщить эту информацию в 2 флага, которые указывают, имеет ли ID наблюдение типа A или B, и 2 переменные счетчика, содержащие общее количество A и B на ID.

ID<-c(1,1,1,1,1,1,1,2,2,2,2,2,2)
Result<-c('A','A','B','A','A','A','A','B','B','B','B','B','B')
DSN<-data.frame(ID,Result)

Вывод будет:

    ID  A_Flag  B_Flag  A_Count B_Count
    1   Y   Y   6   1
    2   N   Y   0   6

1 Ответ

1 голос
/ 10 февраля 2012

Вероятно, проще всего использовать xtabs:

> xtabs(~ID+Result, DSN)
   Result
ID  A B
  1 6 1
  2 0 6

Очевидно, что флаг может быть тривиально выведен из вышеперечисленного:

> xtabs(~ID+Result, DSN) > 0
   Result
ID      A    B
  1  TRUE TRUE
  2 FALSE TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...