我有一个数据框,其中诊断为变量,患者为观察结果。这是32个变量和5000个观测值。
请看这个例子。
我的目标是计算和总结数据框中的所有诊断
set.seed(1)
Data <- data.frame(id = seq(1, 10),
Diag1 = sample(c("A123", "B123", "C123"), 10, replace = TRUE),
Diag2 = sample(c("D123", "E123", "F123"), 10, replace = TRUE),
Diag3 = sample(c("G123", "H123", "I123"), 10, replace = TRUE),
Diag4 = sample(c("A123", "B123", "C123"), 10, replace = TRUE),
Diag5 = sample(c("J123", "K123", "L123"), 10, replace = TRUE),
Diag6 = sample(c("M123", "N123", "O123"), 10, replace = TRUE),
Diag7 = sample(c("P123", "Q123", "R123"), 10, replace = TRUE))
Data
class(Data)
mode(Data)
我知道如何使用plyr包
为一列做到这一点NoDiag1 <- count(Data, "Diag1")
如何为整个数据框而不是一个变量执行此操作?
如果无法做到这一点,我怎样才能将第1-7列添加到一列中,以便我可以对这个“合并”列使用计数功能?
答案 0 :(得分:5)
以下是使用table
## Data[,-1] is the complete data.frame without the "id" column
table(unlist(Data[,-1]))
# A123 B123 C123 D123 E123 F123 G123 H123 I123 J123 K123 L123 M123 N123 O123 P123 Q123 R123
# 5 8 7 2 3 5 4 4 2 1 4 5 4 5 1 4 3 3