我正在尝试对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值的新向量或具有相同值而没有任何过滤的新向量。
答案 0 :(得分:0)
一种简单的方法是将列转换为因子并使用1种热编码