我需要按三列對我的資料進行分組 - 性別、年份和就業狀況。
這是我的資料:
ID <- c(1000, 1000, 1000, 1001, 1001, 1001, 1001, 1001, 1002, 1002, 1002, 1002, 1002)
Gender <- as.factor(c("M","M","M","M","M","M","M","M","F","F","F","F","F"))
Employment_status <- as.factor(c("Other","Other","Other","Employed","Employed","Employed","Employed","Employed","Employed","Employed","Employed","Employed","Unemployed"))
Year <- c(2016, 2017, 2018, 2016, 2017, 2018, 2019, 2020, 2016, 2017, 2018, 2019, 2020)
my_data <- data.frame(ID, Gender, Employment_status, Year, stringsAsFactors=F)
我希望我的最終結果包含一個關于按性別和年份劃分的就業率的資料表。我怎么能在 R 中實作這一點?
預期輸出將是這樣的:

謝謝!
uj5u.com熱心網友回復:
在基礎 R 中,您可以執行以下操作:
ftable(prop.table(table(my_data[-1]), c(1, 3)), col.vars = c("Gender", "Employment_status"))
Gender F M
Employment_status Employed Other Unemployed Employed Other Unemployed
Year
2016 1.0 0.0 0.0 0.5 0.5 0.0
2017 1.0 0.0 0.0 0.5 0.5 0.0
2018 1.0 0.0 0.0 0.5 0.5 0.0
2019 1.0 0.0 0.0 1.0 0.0 0.0
2020 0.0 0.0 1.0 1.0 0.0 0.0
uj5u.com熱心網友回復:
您能否提供您希望資料表采用的格式?
這大概是你想要的嗎?
library(dplyr)
my_data %>%
group_by(Gender, Year) %>%
count(Employment_status) %>%
summarise(sum(n)) %>%
arrange(Year)
輸出:
Gender Year `sum(n)`
<fct> <dbl> <int>
1 F 2016 1
2 M 2016 2
3 F 2017 1
4 M 2017 2
5 F 2018 1
6 M 2018 2
7 F 2019 1
8 M 2019 1
9 F 2020 1
10 M 2020 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/356517.html
上一篇:在R中創建唯一的ID列
下一篇:使用for回圈保存模擬結果
