1
我在数据表中有一列,其中的条目数量是非递减顺序。但是可能有重复的条目。防止R中的重复项
labels <- c(123,123,124,125,126,126,128)
time <- data.table(labels,unique_labels="")
time
labels unique_labels
1: 123
2: 123
3: 124
4: 125
5: 126
6: 126
7: 128
我要让所有条目唯一的,所以输出将是
time
labels unique_labels
1: 123 123
2: 123 124
3: 124 125
4: 125 126
5: 126 127
6: 126 128
7: 128 130
下面是此一循环的实现:
prev_label <- 0
unique_counter <- 0
for (i in 1:length(time$label)){
if (time$label[i]!=prev_label)
prev_label <- time$label[i]
else
unique_counter <- unique_counter + 1
time$unique_label[i] <- time$label[i] + unique_counter
}
用Google搜索你的问题的称号,并获得:https://stats.stackexchange.com/questions/6759/removing-duplicated-rows-data-frame-in-r – marcusshep
@marcusshep我不想删除重复的条目。只需将它们编辑为“不重复”并寻找一个优雅的R方式来避免循环 – Saltaf
顺便说一句,初始化为'“”'除了可能迫使您的列包含字符串之外没有任何好处。 – Frank