r - 如何制作列值是变量的频率表?
问题描述
我有一个名为 JOB 的 DF。在那个 DF 我有 4 列。个人ID;工作; FT(全职或兼职,1 表示全职,2 表示兼职)和 YEAR。在这个 DF 中,每个人每年只能有一份全职工作。这是他们在这一年中获得大部分收入的全职工作。
东风 PERSON_ID 工作 FT 年 1 分析师 1 2018 1 分析师 1 2019 1 分析师 1 2020 2 教练 1 2018 2 教练 1 2019 2 分析师 1 2020 3 园丁 1 2020 4 教练 1 2018 4 教练 1 2019 4 分析师 1 2020 4 教练 2 2019 4 园丁 2 2019
我想在以下问题的行中获得不同的频率:2019 年和 2020 年发生了哪些全职工作变化?
我只想查看 FT=1 的变化。
我希望我的茶几看起来像这样
2019 2020 频率 分析师 分析师 1 教练分析师 2 北美园丁 1
我想查看数据,以便我可以说 2 人从他们的教练工作转到分析师工作。1 名分析师没有换工作,1 人以园丁的身份进入劳动力市场。
我试图摆弄表格功能,但甚至没有接近我想要的。我无法让 YEAR 去单独的变量。
如果我能在基础 R 中做到,10 分奖励 :)
谢谢您的帮助
解决方案
不是 R 基础但有效:
library(dplyr)
library(tidyr)
data %>%
filter(FT==1, YEAR %in% c(2019, 2020)) %>%
group_by(YEAR, JOB, PERSON_ID) %>%
tally() %>%
pivot_wider(names_from = YEAR, values_from = JOB) %>%
select(-PERSON_ID) %>%
group_by(`2019`, `2020`) %>%
summarise(n = n())
`2019` `2020` n
<chr> <chr> <int>
1 Analyst Analyst 1
2 Coach Analyst 2
3 NA Gardener 1
推荐阅读
- azure - 无法在按需付费订阅中访问 Azure Active Directory 自定义角色
- angular - 如何在 Angular 中模拟 HTTP 请求?
- java - 在 Spring Boot 中使用环境变量覆盖 application.yml
- batch-file - Windows CMD:如何在单引号字符串中转义单引号?
- nginx - Nginx 301 重定向在配置文件中的任何位置都不起作用
- java - 如何将带有空格的属性绑定到 Spring application.properties 文件中的 Map 键?
- javascript - Axios 异步问题
- java - 使用嵌套的 for 循环修改二维数组
- docker - Docker 容器上的 Adaptive Server Enterprise
- qlikview - Qlik sense - 在自定义异常中获取选定的 id