2012-11-27 17 views
8

Mam cudowną ramkę danych, moją pierwszą, i zaczynam rozumieć R. Jedną rzeczą, której nie mogłem znaleźć, jest test dla podwójnych wartości. Mam jedną kolumnę, na której jestem prawie pewien, że wszystkie są unikalnymi wartościami, ale tego nie wiem.Sprawdź, czy kolumna w tabeli R zawiera zduplikowane wartości?

Czy mogę o coś zapytać? Dla uproszczenia, udawajmy to moje dane:

var1 var2 var3 
1 1 A 1 
2 2 B 3 
3 3 C NA 
4 4 D NA 
5 5 E 4 

i chcę wiedzieć, czy var1 kiedykolwiek powtórzy.

Odpowiedz

10

Sprawdź funkcji duplicated:

duplicated(dat$var1) # the rows of dat var1 duplicated 

Dokumentacja jest here.

Należy również sprawdzić funkcję unique.

+3

Dokumentacja wspomina również o "anyDuplicated", która może być bardziej bezpośrednio związana. – joran

+0

@Jan należy zwrócić uwagę, że 'any (duplikat (dat $ var1))' da wartość T/F, gdzie jako 'anyDuplicated (dat $ var1)' da wartość indeksu/0. –

+0

anyDuplicated to jest. Tak więc teraz okazuje się, że 'anyDuplicated (j)' zwraca 2039, co jest dokładnie tym, co zwraca 'anyDuplicated (j $ should_be_unique)'. To jest z 81 000 rekordów. Mogę wytworzyć obiekt macierzy PRAWDA/FAŁSZ, ale nie mogę tego sprawdzić, aby zobaczyć, jakie są niektóre z tych 2039. Nowe pytanie? – Amanda

Powiązane problemy