我有以下 Dataframe df(dput
如下):
> df
group class value
1 A FALSE 2
2 A TRUE 1
3 A FALSE 1
4 A FALSE 2
5 A FALSE 3
6 B FALSE 4
7 B FALSE 2
8 B TRUE 2
9 B FALSE 2
10 B FALSE 6
11 C TRUE 5
12 C FALSE 5
13 C FALSE 3
14 C FALSE 5
15 C FALSE 5
我想计算每组特定相似值的百分比。总有一个值带有class == TRUE
,这意味着我想计算与class == TRUE
值相似的值的百分比。正如你在上面的数据框中看到的,A组的值为1,class == TRUE,A组中有两个值为1,所以2/5 = 0。其中4个值为1。下面是所需的输出:
group value pct
1 A 1 0.4
2 B 2 0.6
3 C 5 0.8
所以我想知道是否有人知道如何计算R中每组特定值的百分比?
df的dput
:
df <- structure(list(group = c("A", "A", "A", "A", "A", "B", "B", "B",
"B", "B", "C", "C", "C", "C", "C"), class = c(FALSE, TRUE, FALSE,
FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE,
FALSE, FALSE, FALSE), value = c(2, 1, 1, 2, 3, 4, 2, 2, 2, 6,
5, 5, 3, 5, 5)), class = "data.frame", row.names = c(NA, -15L
))
3条答案
按热度按时间mbjcgjjk1#
试试看
或使用
data.table
选项70gysomp2#
您可以:
j5fpnvbx3#
带有
ave
+subset
的基本R选项给予