我需要一些幫助,按組計算符合某些標準的觀察值。我首先想把按地點劃分的雇員人數作為一列。然后我想檢索作業時間超過40小時的員工數量(按地點),并將其匯總為一列。我認為有一種簡單的方法可以用dplyr或基礎R來做,但我感到很困惑。我的資料如下。
name hours_worked location
Bob 55 IL
Nick 25 IL
Sally 30 IL
Patricia 50 WI
Tim 35 WI
Liz 42 OH
Brad 60 OH
山姆 48 俄亥俄州
理想的輸出應該是這樣的:
location headcount over_40
IL 3 1
WI 2 1
俄亥俄州 3 3
uj5u.com熱心網友回復:
我們可以做一個分組操作--按'位置'分組,得到headcount的行數(n())和邏輯向量的sum,得到'over_40'的計數
library(dplyr)
df1 %>%
group_by(location) %>%
summarise(headcount = n()。 over_40 = sum(hours_worked > 40))
輸出
# A tibble: 3 x 3
地點人頭數超過_40
<chr> < int> <int>/span>
1 IL 3 1
2 俄亥俄州 3 3
3 WI 2 1
資料
。df1 < -結構(list(name = c("Bob"/span>。 "Nick", "Sally"。 "Patricia", "Tim", "Tim",
"Liz", "Brad"。 "Sam")。 hours_worked = c(55L。 25L, 30L。 50L, 35L,
42L, 60L。 48L)。 位置 = c("IL"。 "IL", "IL", "WI"。 "WI", "OH",
"OH", "OH"))。 class = "data. frame",行。 names = c(NA。 -8L))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/306876.html
標籤:
上一篇:迭代映射函式的附加輸出
