2
組
此代碼:Dplyr:計數與條件行每
Group <- rep(c("A", "B", "C"), each = 3)
Days <- c(21,21,19,18,21,21,11,21,19)
State <- c("OK", "NOK", "OK", "OK", "NOK", "OK", "OK", "OK", "NOK")
data <- data.frame(Group = Group, Days = Days, State = State)
創建該數據幀。
> data
Group Days State
1 A 21 OK
2 A 21 NOK
3 A 19 OK
4 B 18 OK
5 B 21 OK
6 B 21 OK
7 C 11 NOK
8 C 21 OK
9 C 19 NOK
我經常使用group_by
和dplyr
summarizes
做得到組的參數(如A ,B,C)。但我無法想象一個簡單的方法來獲得每組OK和NOK的數量(例如NOK百分比)。我期望得到的結果如下:
> result
Group %NOK
1 A 33.3
2 B 0
3 C 66.6
在下一步我希望通過附加的計算來計算比例。例如:計算NOK的數量,每個組的天數> 20。我真的很簡單的解決辦法是:
data %>% group_by(Group) %>% nrow(filter(Days < 20, State == "NOK"))/n() * 100
,但是這將是很好,如果你可以給我一個解決方案,那就是實際工作;)
運行完美解決了,感謝您的快速回答 – WitheShadow