首页 > 解决方案 > 计算多列中的出现次数并使用 R 计算统计信息

问题描述

我是 dplyr 的新手。这是我的简化数据框:

ID S1 S2 S3
1  45 36 101
1  10 45 101
1  81 81 45
2  45 101 81
2  36 36 45

首先,我想通过ID总结一下S1-S3中每个数字的出现情况:

ID 45 36 101 10 81
1  3  1   2   1  1
2  2  2   1   0  1

然后,我想计算每列的均值、标准和 CI(ID 除外)。我尝试使用 dplyr 进行第一阶段:

df %>% summarize(by_SS, count=n())

但这只是计算 ID:

1.0 3
2.0 2

如何才能做到这一点?

标签: rdplyr

解决方案


这是一个关于如何做到这一点的建议

library(dplyr)
library(reshape)

# reading your example
df <- read.table(text = ('ID S1 S2 S3
1  45 36 101
1  10 45 101
1  81 81 45
2  45 101 81
2  36 36 45'), header = T, stringsAsFactors = F)

# reshaping the data
df_1 <- df %>% melt(id.vars = 'ID')

# getting the results
table(df_1$ID, df_1$value)

#   10 36 45 81 101
# 1  1  1  3  2   2
# 2  0  2  2  1   1

推荐阅读