dataframe - 使用标准函数或 dbplyr 对 R 中的特定行进行子集/过滤?
问题描述
我正在尝试对 BLS 中的数据进行子集化,以将具有 NAIC 代码的行区分为不同的类别。它们目前都在一列中,# 长度范围为 2-6。理想情况下,我希望我的数据框包含 4 个新的二进制列 (0, 1),以便我可以将数据框保留为所有原始值,并分别调用新的 NAIC 代码列。
数据:
naic_codes year area_title own_title industry_title annual_avg_emplvl
1 10 2017 Kansas City, MO-KS MSA Total Covered 101 Total, all industries 1031619
2 10 2017 Kansas City, MO-KS MSA Federal Government 10111 Total, all industries 26982
我尝试了几种方法来进行子集化,以便我可以将代码过滤到它们各自的长度条目。我尝试过的变体包括过滤、选择、子集、将值更改为因子/字符/数字/整数。
df3 %>% filter_at(vars(starts_with("naic_codes")), any_vars(.<= 99))
new <- df2[nchar(df2$naics_code) ==2]
我要么得到错误消息或未使用的 R 参数、具有 NULL 值的新向量,要么得到具有相同值但没有任何过滤的新向量。
解决方案
一种简单的方法是将列转换为因子并使用 1 热编码
推荐阅读
- c++ - 堆异常 -1073741510 对象
- django - Plesk 乘客 django 观看 manage.py 日志
- python - 在什么情况下操作系统会知道 Python 创建的线程?
- javascript - Firebase 查询快照为时间戳字段返回 null 而不是任何值
- javascript - 如何在 react/javascript 中通过首字母过滤对象数组
- javascript - 编辑用 JQuery 加载的 HTML
- r - 将来自不同数据集的多条回归线的图例添加到 ggplot
- javascript - ExpressJs req.body 显示未定义
- python - 我想知道如何制作合并功能
- html - 为什么我在引导程序中的断点不是好的网格不工作