【发布时间】:2021-08-27 23:18:06
【问题描述】:
请原谅我不太完美的标题,但在理解这一点时遇到了一些问题。
这里是手动创建的数据。共有三个字段;状态、代码类型和代码。这样做的原因是我试图将其更广泛的版本加入到由 160 万行组成的数据框中,并遇到内存不足的问题。我的想法是,我会大大减少这张表的行数;行业。
state <- c(32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32)
codetype <- c(10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10)
code <- c(522,523,524,532,533,534,544,545,546,551,552,552,561,562,563,571,572,573,574)
industry = data.frame(state,codetype,code)
所需的结果将是一个双重操作。首先,我会将六位数代码缩短为 2。这是通过。
industry<-industry %>% mutate(twodigit = substr(code,1,2).
这将产生第五列,两位数。目前有19个值。但只有 7 个唯一值的两位数; 52,53,54,55,56,57。如何告诉它删除两位数的所有非唯一值?
【问题讨论】:
-
你需要
industry %>% distinct(twodigit, .keep_all = TRUE) -
@akrun,把这个写成答案。是的,它成功了,感谢您的帮助。
标签: r dplyr duplicates