Bagaimana saya bisa membuat daftar nilai yang berbeda dalam vektor di mana nilainya mereplikasi? Maksud saya, mirip dengan pernyataan SQL berikut:
SELECT DISTINCT product_code
FROM data
sumber
Bagaimana saya bisa membuat daftar nilai yang berbeda dalam vektor di mana nilainya mereplikasi? Maksud saya, mirip dengan pernyataan SQL berikut:
SELECT DISTINCT product_code
FROM data
Apakah maksud Anda 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
Jika datanya benar-benar a factor
maka Anda dapat menggunakan levels()
fungsi tersebut, misalnya
levels( data$product_code )
Jika ini bukan faktor, tetapi seharusnya, Anda dapat mengonversinya menjadi faktor terlebih dahulu dengan menggunakan factor()
fungsi, mis
levels( factor( data$product_code ) )
Opsi lain, seperti yang disebutkan di atas, adalah unique()
fungsinya:
unique( data$product_code )
Perbedaan utama antara keduanya (bila diterapkan ke a factor
) adalah bahwa levels
vektor karakter akan dikembalikan dalam urutan level, termasuk level apa pun yang diberi kode tetapi tidak terjadi. unique
akan mengembalikan a factor
dalam urutan nilai pertama kali muncul, dengan setiap level yang tidak terjadi dihilangkan (meskipun masih termasuk dalam levels
faktor yang dikembalikan).
Coba gunakan fungsi duplikat dalam kombinasi dengan operator negasi "!".
Contoh:
wdups <- rep(1:5,5)
wodups <- wdups[which(!duplicated(wdups))]
Semoga membantu.
Anda juga dapat menggunakan paket sqldf di R.
Z <- sqldf('SELECT DISTINCT tablename.columnname FROM tablename ')