Wie kann ich die verschiedenen Werte in einem Vektor auflisten, in dem die Werte replikativ sind? Ich meine, ähnlich wie bei der folgenden SQL-Anweisung:
SELECT DISTINCT product_code
FROM data
quelle
Wie kann ich die verschiedenen Werte in einem Vektor auflisten, in dem die Werte replikativ sind? Ich meine, ähnlich wie bei der folgenden SQL-Anweisung:
SELECT DISTINCT product_code
FROM data
Meinst du unique
:
R> x = c(1,1,2,3,4,4,4)
R> x
[1] 1 1 2 3 4 4 4
R> unique(x)
[1] 1 2 3 4
Wenn die Daten tatsächlich a sind factor
, können Sie die levels()
Funktion verwenden, z
levels( data$product_code )
Wenn es sich nicht um einen Faktor handelt, dies aber sein sollte, können Sie ihn zuerst mithilfe der factor()
Funktion in einen Faktor konvertieren , z
levels( factor( data$product_code ) )
Eine andere Option, wie oben erwähnt, ist die unique()
Funktion:
unique( data$product_code )
Der Hauptunterschied zwischen den beiden (wenn auf a angewendet factor
) besteht darin, dass levels
ein Zeichenvektor in der Reihenfolge der Ebenen zurückgegeben wird, einschließlich aller Ebenen, die codiert sind, aber nicht auftreten. unique
gibt a factor
in der Reihenfolge zurück, in der die Werte zuerst angezeigt werden, wobei alle nicht vorkommenden Ebenen weggelassen werden (obwohl sie immer noch im levels
zurückgegebenen Faktor enthalten sind).
Versuchen Sie, die duplizierte Funktion in Kombination mit dem Negationsoperator "!" Zu verwenden.
Beispiel:
wdups <- rep(1:5,5)
wodups <- wdups[which(!duplicated(wdups))]
Hoffentlich hilft das.
Sie können auch das sqldf-Paket in R verwenden.
Z <- sqldf('SELECT DISTINCT tablename.columnname FROM tablename ')