答案 0 :(得分:1)
尝试一下:
首先创建一个类似于您的虚拟数据集:
library(dplyr)
dat <- tibble::tribble(
~AL.01, ~AL.02, ~AL.03,
"Above Normal", "Above Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "High",
"Normal", "Normal", "High",
"Normal", "Normal", "Above Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Above Normal", "High", "Above Normal",
"Above Normal", "Normal", "Above Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"Normal", "Normal", "Normal",
"High", "Normal", "Normal"
)
现在执行以下计数和重命名操作:
AL.01 <- dat %>%
count(AL.01) %>%
rename(metric = AL.01, AL.01 = n)
AL.02 <- dat %>%
count(AL.02) %>%
rename(metric = AL.02, AL.02 = n)
AL.03 <- dat %>%
count(AL.03) %>%
rename(metric = AL.03, AL.03 = n)
final <- full_join(AL.01, AL.02) %>% full_join(AL.03)
final
data.frame final
应该看起来像这样:
# A tibble: 3 x 4
metric AL.01 AL.02 AL.03
<chr> <int> <int> <int>
1 Above Normal 3 1 3
2 High 1 1 2
3 Normal 19 21 18
答案 1 :(得分:1)
使用基数R,您可以执行以下代码:
#mock up data
my_df <- data.frame(AL_01 = c("Above No", "Normal", "Normal", "High", "Above No", "Normal", "Normal", "High"),
AL_02 = c("Above No", "Normal", "Normal", "Normal", "Above No", "Normal", "Normal", "High"),
AL_03 = c("Normal", "Normal", "Normal", "High","Above No", "Normal", "Normal", "High" ))
apply(my_df, 2, table)
收益:
AL_01 AL_02 AL_03
Above No 2 2 1
High 2 1 2
Normal 4 5 5
table
命令计算向量中不同条目的数量。这在apply
函数中称为。这样,table
命令针对每一列执行(由于第二个参数== 2)并返回。
在命令提示符下键入?table
和?apply
,以获取更多信息。