Сводка данных из фрейма данных - PullRequest
3 голосов
/ 19 октября 2011

У меня есть еще один вопрос, касающийся извлечения данных из большого фрейма данных, с которым я работаю, первые несколько строк выглядят следующим образом:

      Assay   Genotype   Sample    Result
1     001        G         1         0
2     001        A         2         1
3     001        G         3         0 
4     001        NA        4         NA
5     002        T         1         0
6     002        G         2         1
7     002        T         3         0 
8     002        T         4         0
9     003        NA        1         NA
10    003        G         2         1
11    003        G         3         1 
12    003        T         4         0

В общей сложности я буду работать с 2000 выборками и 168 анализамидля каждого образца.

Я бы хотел сгенерировать сводную таблицу на основе этих данных, которая сообщает мне, сколько «сэмплов» имеет каждый «результат».Есть только 3 варианта «Результат» 1, 0 или NA.Я хотел бы, чтобы результат имел кадр данных, который выглядит следующим образом (с использованием приведенных выше данных):

Assay    1   0   NA
001      1   2   1 
002      1   3   0
003      2   1   1

Как я уже упоминал выше, существует 168 различных тестов, и они не просто помечены в числовой серии,поэтому идентификатор анализа должен быть извлечен из исходного фрейма данных.В идеальном мире я также хотел бы видеть процент выборок для каждого «Результата», перечисленных рядом с числами (или в другой таблице).

Ответы [ 2 ]

3 голосов
/ 19 октября 2011

Как @ MYaseen208, но с добавлением столбца NA:

> table(df[, c('Assay', 'Result')], useNA='ifany')
     Result
Assay 0 1 <NA>
    1 2 1    1
    2 3 1    0
    3 0 0    1

См .: ?table

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

Попробуйте

table(df$Assay, df$Result,useNA="ifany")
...