这应该是一个简单的解决方案...我只是不能理解它。我想要计算数据框中多个列的一个因子出现的次数。有13列,范围从abx.1到abx.13,并且有大量的行。
样本数据框:
样本数据框:
library(dplyr)
abx.1 <- c('Amoxil', 'Cipro', 'Moxiflox', 'Pip-tazo')
start.1 <- c('2012-01-01', '2012-02-01', '2013-01-01', '2014-01-01')
abx.2 <- c('Pip-tazo', 'Ampicillin', 'Amoxil', NA)
start.2 <- c('2012-01-01', '2012-02-01', '2013-01-01', NA)
abx.3 <- c('Ampicillin', 'Amoxil', NA, NA)
start.3 <- c('2012-01-01', '2012-02-01', NA,NA)
worksheet <-data.frame (abx.1, start.1, abx.2, start.2, abx.3, start.3)
我希望的结果:
- 药品名 数量
- 阿莫西林 3
- 氨苄青霉素 2
- 哌拉西林钠/他唑巴坦钠 2
- 环丙沙星 1
- 莫西沙星 1
我尝试过:
worksheet %>% group_by (abx.1, abx.2, abx.3) %>% summarise(count = n())
这并没有给我想要的输出结果。如果有任何想法,将不胜感激。
table(unlist(worksheet[grepl("abx", names(worksheet))]))
。 - David Arenburg