/ / Vyberte riadky údajov v dátovom rámci, ktoré obsahujú prvok, ktorý sa neopakuje (je jedinečné) [duplicitné] - r, dátový rámec, jedinečný

Vybrať riadky údajov v dátovom rámci, ktoré obsahujú prvok, ktorý sa neopakuje (je jedinečný) [duplikát] - r, dátový rámec, jedinečný

Tu je testovací údajový rámec:

x = c("a", "b")
y = c(1,1,2,3,4,4,5,6)
z = c(20,30,20,40,10,30,20,40)
Data = data.frame(x,y,z)
x y  z
1 a 1 20
2 b 1 30
3 a 2 20
4 b 3 40
5 a 4 10
6 b 4 30
7 a 5 20
8 b 6 40

Takže existujú dva vzorky (a a b) a prvky v y, ktoré by mohli byť jedinečné pre a alebo b alebo zdieľané medzi nimi. Chcem vytiahnuť riadky údajov, ktoré obsahujú iba jedinečné prvky (nie zdieľané) y.

unikátny (dáta $ y) dáva iba zoznam všetkýchhodnoty y, pričom duplikáty boli odstránené. Namiesto toho chcem úplné riadky iba hodnôt y, ktoré sa v dátovom rámci neopakujú. Ako to urobím?

EDIT: Očakávaný výstup by bol dátový rámec obsahujúci iba tie riadky, ktoré obsahujú hodnoty y, ktoré sa neopakujú v pôvodnom dátovom rámci (nie sú zdieľané medzi a a b)

  x y  z
1 a 2 20
2 b 3 40
3 a 5 20
4 b 6 40

odpovede:

0 pre odpoveď č. 1

Môžeš použiť duplicated na indexovanie dátového rámca.

Data[!duplicated(Data$y),]

poskytuje

  x y  z
1 a 1 20
3 a 2 20
4 b 3 40
5 a 4 10
7 a 5 20
8 b 6 40