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
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
Jawaban:
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).
Anda juga dapat menggunakan paket sqldf di R.
Z <- sqldf('SELECT DISTINCT tablename.columnname FROM tablename ')