所以,我有类似的东西:
V1 V2
X B
Y A
X A
Y B
X B
X B
我需要:
A B
X 0.17 0.5
Y 0.17 0.17
*注意:由于我将1.666
转为1.7.*
答案 0 :(得分:7)
使用table
function创建计数表:
> table(df)
V2
V1 A B
X 1 3
Y 1 1
概率表是以直接的方式得出的:
> table(df) / nrow(df)
V2
V1 A B
X 0.1666667 0.5000000
Y 0.1666667 0.1666667
或者,使用prop.table
:
> prop.table(table(df))
V2
V1 A B
X 0.1666667 0.5000000
Y 0.1666667 0.1666667
答案 1 :(得分:1)
另一种方式:
table(df)/nrow(df)
# V2
# V1 A B
# X 0.1666667 0.5000000
# Y 0.1666667 0.1666667