gpt4 book ai didi

r - 在 R 中标记重复项

转载 作者:行者123 更新时间:2023-12-03 20:03:55 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Identify duplicates and mark first occurrence and all others

(2 个回答)



Find indices of duplicated rows [duplicate]

(2 个回答)



Replace logical values (TRUE / FALSE) with numeric (1 / 0)

(7 个回答)



Coerce logical (boolean) vector to 0 and 1

(2 个回答)


去年关闭。




我有以下数据集:

dataset <- data.frame(id = c("A","A","A","A","B","B","B,"B"),
value = c(1,1,2,3,5,6,6,7))
对于每个重复的 id,我想标记它发生的行,并且这个标志应该与数据帧源的长度相同。这是预期的结果:
id    value    flag
A 1 1
A 1 1
A 2 0
A 3 0
B 5 0
B 6 1
B 6 1
B 7 0
有没有办法让我不必使用 for 循环?任何帮助将不胜感激。

最佳答案

我们可以使用 duplicated有无 fromLast = TRUE将所有重复的值标记为 1。

dataset$flag <- as.integer(duplicated(dataset$value) | 
duplicated(dataset$value, fromLast = TRUE))
dataset

# id value flag
#1 A 1 1
#2 A 1 1
#3 A 2 0
#4 A 3 0
#5 B 5 0
#6 B 6 1
#7 B 6 1
#8 B 7 0

关于r - 在 R 中标记重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63877199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com