Hitung jumlah setiap baris unik dalam bingkai data? [Tutup]

8

Misalkan saya memiliki bingkai data seperti:

df<-data.frame(x1=c(0,1,1,1,2,3,3,3),
x2=c(0,1,1,3,2,3,3,2),
x3=c(0,1,1,1,2,3,3,2))
df
  x1 x2 x3
1  0  0  0
2  1  1  1
3  1  1  1
4  1  3  1
5  2  2  2
6  3  3  3
7  3  3  3
8  3  2  2

yang saya inginkan adalah menghitung jumlah setiap baris unik seperti:

  x1 x2 x3 count
1  0  0  0  1
2  1  1  1  2
4  1  3  1  1
5  2  2  2  1 
6  3  3  3  2
8  3  2  2  1

Apa cara termudah untuk mewujudkannya di R?

David Z
sumber
@ Wouber, alih-alih menahannya, cukup migrasi saja ke SO. Ini adalah pertanyaan yang masuk akal, diformat dengan baik dan jelas yang diajukan di situs SE yang salah. Kami dapat memberikan banyak jawaban bagus lainnya yang dapat dimanfaatkan oleh pengguna di masa depan.
David Arenburg
@ David A Terima kasih atas sarannya. Saya pikir Anda benar, tetapi pada saat itu (a) saya melihat ada jawaban di sini dan (b) Saya sangat curiga pertanyaan ini telah muncul di SO sebelumnya.
whuber
1
@whuber, saya tidak memeriksa dupes, tapi saya pikir OP masih akan menerima banyak jawaban yang lebih baik. Either way, tampaknya mereka baik plyrsehingga tidak masalah lagi kurasa.
David Arenburg

Jawaban:

13

Gunakan countfungsi dari plyrpaket.

library(plyr)
df = data.frame(x1=c(0,1,1,1,2,3,3,3),
               x2=c(0,1,1,3,2,3,3,2),
               x3=c(0,1,1,1,2,3,3,2))

count(df, vars = c("x1", "x2", "x3"))

Keluaran:

> count(df, vars = c("x1", "x2", "x3"))
  x1 x2 x3 freq
1  0  0  0    1
2  1  1  1    2
3  1  3  1    1
4  2  2  2    1
5  3  2  2    1
6  3  3  3    2
tchakravarty
sumber
1
Saya menyalin dan menempelkan kode Anda. Saya mendapat: "Kesalahan dalam mutate_impl (. Data, titik): Kolom varsharus panjang 8 (jumlah baris) atau satu, bukan 3"
StatsSorceress