删除第一次出现的数据框 R

标签 r dataframe

所以我一直在研究 R 中的数据框,尽管我仍然在 Python 中思考太多,似乎无法找到解决我问题的方法。

我有一个数据框,其中一列是用户 ID。我想删除所有第一次出现的数字,例如:

1,2,3,4,3,4,2,1,3,4,6,7,7

我想要这样的输出:

 3,4,2,1,3,4,7

在 user_id 第一次出现的地方,我会删除它,但保留所有其他的,即使重复出现也是如此。

对于 python,我可能会使用枚举或循环遍历它。对于 R,我见过一些看起来很酷的函数,但我不确定如何将它与数据框一起使用,例如 rle。

任何指示都会非常有帮助,因为现在我对解决这个问题的最佳方法有点迷茫。

谢谢大家

最佳答案

duplicated() 函数在这里很有用:

x <- c(1,2,3,4,3,4,2,1,3,4,6,7,7)
> x[duplicated(x)]
[1] 3 4 2 1 3 4 7

这是有效的,因为 duplicated() 返回一个逻辑向量,指示该元素是否重复:

duplicated(x)
 [1] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE

然后使用此逻辑向量从 x 中提取(提取)所需的值。但请注意,在提取过程中,我保留所有重复值,而不是删除它们。

要删除所有重复的值(不是您想要的,但无论如何我都会说明),请尝试取反:

x[!duplicated(x)]
[1] 1 2 3 4 6 7

关于删除第一次出现的数据框 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14094873/

相关文章:

R - frbs 包错误 - 维数不正确

r - 同一图上的两个 geom_line 和 geom_point

r - 在 R 中使用 lm 时,可变长度不同错误

python - Pandas 根据其他列上的复合条件添加一列

r - 如何在R中旋转包含带有部分和子部分的列的数据框

r - 从矩阵的不同列获取值的向量

反转变量中非 NA 值的顺序

python - 如何使用变量名称列表从 .xls 文件夹自动创建 Pandas 数据框?

csv - 如何减少在 Julia 中打开大型 csv 文件所需的时间(使用 CSV 和 DataFrames)?

python - 在数据帧的列中填充连续的 NAN