Bagaimana cara mendapatkan jumlah baris data.frame di R? [Tutup]

157

Setelah membaca dataset:

dataset <- read.csv("forR.csv")
  • Bagaimana saya bisa mendapatkan R untuk memberi saya jumlah kasus di dalamnya?
  • Juga, akankah nilai yang dikembalikan mencakup kasus-kasus yang dikecualikan dihilangkan na.omit(dataset)?
Tom Wright
sumber
1
Saya juga merekomendasikan untuk melihat str()karena memberikan detail berguna lainnya tentang objek Anda. Sering dapat menjelaskan mengapa kolom tidak berperilaku sebagaimana mestinya (faktor bukan angka, dll).
Mengejar
3
Silakan baca panduan R Owen terlebih dahulu ( cran.r-project.org/doc/contrib/Owen-TheRGuide.pdf ), dan jika mungkin, Pengantar R ( cran.r-project.org/doc/manuals/R- intro.pdf ). Keduanya ada di situs resmi R. Anda sangat beruntung Anda benar-benar mendapatkan jawaban. Pada daftar r-help orang akan mengarahkan Anda ke manual dalam istilah yang kurang elegan. Bukan berarti tersinggung.
Joris Meys
11
@ Joris - Poin diambil (tanpa tersinggung), tapi kesan saya bahwa situs SE dirancang untuk mendorong pembelajaran masalah / solusi dengan cara yang tidak diberikan oleh manual. Selain itu, pertanyaan ini sekarang akan tersedia untuk pemula lainnya. Terima kasih atas tautannya.
Tom Wright
2
Saya tidak setuju dengan pernyataan Anda bahwa pertanyaan ini akan bermanfaat untuk pemula lain, terutama jika mereka tidak membaca manual. Mereka hanya akan membuat pertanyaan duplikat.
Joshua Ulrich
6
Dan, empat tahun kemudian, ini adalah hit kedua di Google yang mencoba menemukan jawaban untuk pertanyaan ini. Tidak perlu bagi saya untuk membuat duplikat (@JoshuaUlrich).
Richard

Jawaban:

173

datasetakan menjadi bingkai data. Karena saya tidak punya forR.csv, saya akan membuat bingkai data kecil untuk ilustrasi:

set.seed(1)
dataset <- data.frame(A = sample(c(NA, 1:100), 1000, rep = TRUE),
                      B = rnorm(1000))

> head(dataset)
   A           B
1 26  0.07730312
2 37 -0.29686864
3 57 -1.18324224
4 91  0.01129269
5 20  0.99160104
6 90  1.59396745

Untuk mendapatkan jumlah kasus, hitung jumlah baris menggunakan nrow()atau NROW():

> nrow(dataset)
[1] 1000
> NROW(dataset)
[1] 1000

Untuk menghitung data setelah menghilangkan NA, menggunakan alat yang sama, tetapi membungkus datasetdi na.omit():

> NROW(na.omit(dataset))
[1] 993

Perbedaan antara NROW()dan NCOL()dan varian huruf kecilnya ( ncol()dan nrow()) adalah bahwa versi huruf kecil hanya akan berfungsi untuk objek yang memiliki dimensi (array, matriks, bingkai data). Versi huruf besar akan bekerja dengan vektor, yang diperlakukan seolah-olah mereka adalah matriks 1 kolom, dan kuat jika Anda akhirnya mengelompokkan data Anda sehingga R menjatuhkan dimensi kosong.

Atau, gunakan complete.cases()dan sumitu ( complete.cases()mengembalikan vektor logis [ TRUEatau FALSE] yang menunjukkan jika ada pengamatan NAuntuk setiap baris.

> sum(complete.cases(dataset))
[1] 993
Gavin Simpson
sumber
36

Secara singkat:

  1. Jalankan dim(dataset)untuk mengambil kedua n dan k , Anda juga dapat menggunakan nrow(df)dan ncol(df)(dan bahkan NROW(df)dan NCOL(df)- varian diperlukan untuk tipe lain juga).

  2. Jika Anda mentransformasikan mis via dataset <- na.omit(dataset), maka kasing hilang dan tidak dihitung. Tetapi jika Anda melakukannya misalnya summary(dataset) , kasus-kasus NA dicatat.

Dirk Eddelbuettel
sumber