我有這樣一個數據幀:重疊先前行
set.seed(123)
a <- c("A", "B", "C", "D", "E", "F", "G", "H", "I")
df <- data.frame(
V1 = sample(a,4, replace=TRUE),
V2 = sample(a,4, replace=TRUE),
V3 = sample(a,4, replace=TRUE),
V4 = sample(a,4, replace=TRUE)
)
它看起來像
V1 V2 V3 V4
1 C I E G
2 H A E F
3 D E I A
4 H I E I
我想算唯一值的數量在一排比較到以前的行,所以結果將如下所示:
V1 V2 V3 V4 V5
1 C I E G 4
2 H A E F 3
3 D E I A 2
4 H I E I 1
V5等於4,因爲它是第1行,並且都是唯一的
V5等於3用於行2,因爲H,A和F不是行1中
V5等於2 3行,因爲1)d和我不是在第2行和2)d和A不是在第1行
V5爲4行等於1,因爲1)H是不是在第1行,2)I是不是在第2行,和3)H是不是在第4行
如果第4行是HIEA,那麼第4行的V5將仍然爲1,因爲它只有1個值不在第3行,儘管它將有2個值不在第2行,而2個值不在第1行。
這可能只是我,但我很難完全理解你想要做什麼。您似乎想要將給定的行與所有前面的行進行比較,並獲取該行逐行比較的最小值。即如果我們正在查看第3行,我們將採用第3行 - 第2行比較和第3行 - 第1行比較的最小值 –
這是正確的。比較行N到行1到(N-1)。然後找到那些比較的最小值。 –