作为此问题的后续问题:使用 dplyr 删除重复行 https://stackoverflow.com/questions/22959635/remove-duplicated-rows-using-dplyr,我有以下内容:
如何使用 dplyr() (以及其他)随机删除重复的行?
我现在的命令是:
data.uniques <- distinct(data, KEYVARIABLE, .keep_all = TRUE)
但它返回 KEYVARIABLE 的第一次出现。我希望这种行为是随机的:所以介于两者之间1
and n
该 KEYVARIABLE 的出现次数。
例如:
KEYVARIABLE BMI
1 24.2
2 25.3
2 23.2
3 18.9
4 19
4 20.1
5 23.0
目前我的命令返回:
KEYVARIABLE BMI
1 24.2
2 25.3
3 18.9
4 19
5 23.0
我希望它随机返回其中之一n
重复的行,例如:
KEYVARIABLE BMI
1 24.2
2 23.2
3 18.9
4 19
5 23.0
一种选择是按“KEYVARIABLE”分组,然后sample
用于选择行并对数据集进行子集化的行序列
library(data.table)
setDT(df1)[, .SD[sample(.N)[1]], KEYVARIABLE]
或者使用dplyr
library(dplyr)
df1 %>%
group_by(KEYVARIABLE) %>%
sample_n(1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)