我有不同项目的数据,这些项目具有衔接路径A-E和可能性“不太可能”,“可能”或“可能”。数据看起来像这样(但是有更多项目 - 所以更多行):
Project Pathway Likelihood
1 Red A unlikely
2 Red B possible
3 Red C likely
4 Red D possible
5 Red E possible
6 Blue A possible
7 Blue B unlikely
8 Blue C possible
9 Blue D possible
10 Blue E unlikely
11 Green A unlikely
12 Green B possible
13 Green C likely
14 Green D possible
15 Green E possible
16 Yellow A unlikely
17 Yellow B unlikely
18 Yellow C possible
19 Yellow D possible
20 Yellow E likely
对于每条衔接路线,我想要计算“不太可能”,“可能”和&的数量。来自Likelihood列的“可能”,以便我可以将每个Pathway作为一行创建一个数据框,并且不太可能,可能并且可能作为列。
有谁知道最好的方法吗?
提前致谢!
答案 0 :(得分:6)
假设您的数据被称为dat
:
intm <- aggregate(Likelihood ~ Pathway, data=dat, FUN=table)
data.frame(Pathway=intm$Pathway, intm$Likelihood)
# Pathway likely possible unlikely
#1 A 0 1 3
#2 B 0 2 2
#3 C 2 2 0
#4 D 0 4 0
#5 E 1 2 1
或全部在一行:
do.call(data.frame, aggregate(Likelihood ~ Pathway, data=dat, FUN=table))
# Pathway Likelihood.likely Likelihood.possible Likelihood.unlikely
#1 A 0 1 3
#2 B 0 2 2
#3 C 2 2 0
#4 D 0 4 0
#5 E 1 2 1