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
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
Antworten:
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 levelsein Zeichenvektor in der Reihenfolge der Ebenen zurückgegeben wird, einschließlich aller Ebenen, die codiert sind, aber nicht auftreten. uniquegibt a factorin der Reihenfolge zurück, in der die Werte zuerst angezeigt werden, wobei alle nicht vorkommenden Ebenen weggelassen werden (obwohl sie immer noch im levelszurückgegebenen Faktor enthalten sind).
Sie können auch das sqldf-Paket in R verwenden.
Z <- sqldf('SELECT DISTINCT tablename.columnname FROM tablename ')