我有一個數據幀具有例如重複值的行:R返回只有一行的每個值在矢量
id
A
A
A
B
B
C
C
D
D
我想要實現的是,對於每個僅保留一個值的代碼行在另一矢量值,例如在:
keeps <- c("A", "C")
結果應該是這樣的:
id
A
C
我有一個數據幀具有例如重複值的行:R返回只有一行的每個值在矢量
id
A
A
A
B
B
C
C
D
D
我想要實現的是,對於每個僅保留一個值的代碼行在另一矢量值,例如在:
keeps <- c("A", "C")
結果應該是這樣的:
id
A
C
試試:
df[df$id %in% c("A", "C") & !duplicated(df$id),,drop = FALSE]
# id
# 1 A
# 6 C
或本:
unique(df[df$id %in% c("A", "C"),,drop = FALSE])
# id
# 1 A
# 6 C
第一個做到了!所以我在df $ id中進行子集化,並保持AND如果df $ id被重複,我沒有複製該行......但drop = FALSE會做什麼? – gh0strider18 2014-10-16 17:14:57
對於一列數據幀(或矩陣),「drop = FALSE」將使結果保持爲一個數據幀,而將結果保留爲數據幀將使結果摺疊爲一個向量。嘗試兩個並檢查差異 – 2014-10-16 17:16:06
你要哪一個的三排和C的兩排,以保持?第一個,最後一個,隨機? – 2014-10-16 16:53:21
首先會很好,但是對於所有可能的方式都要加分 – gh0strider18 2014-10-16 16:55:48
也許'?unique'? – hrbrmstr 2014-10-16 16:58:15