R içindeki bir data.frame satır sayısını nasıl alabilirim? [kapalı]


157

Bir veri setini okuduktan sonra:

dataset <- read.csv("forR.csv")
  • R'nin bana içerdiği dava sayısını vermesini nasıl sağlayabilirim?
  • Ayrıca, iade edilen değer, ihmal edilen davaları içermez na.omit(dataset)mi?

1
Ayrıca str(), nesnenizle ilgili diğer yararlı ayrıntıları sağladığı için bir göz atmanızı da tavsiye ederim . Bir sütunun neden olması gerektiği gibi davranmadığını sık sık açıklayabilir (sayısal, vb. Faktör).
Chase,

3
Lütfen önce Owen'ın R rehberini okuyun ( cran.r-project.org/doc/contrib/Owen-TheRGuide.pdf ) ve mümkünse, R'ye giriş ( cran.r-project.org/doc/manuals/R- intro.pdf ). Her ikisi de R'nin resmi web sitesinde. Gerçekten bir cevap aldığınız için çok şanslısınız. R-yardım listesinde kişi sizi daha az zarif bir şekilde kılavuza yönlendirecektir. Hiçbir suç demek istemedim.
Joris Meys,

11
@Joris - Puan alın (alınmadan), ancak SE sitelerinin problem / çözüm öğrenimini kılavuzlar tarafından karşılanmayan bir şekilde desteklemek için tasarlandığı izlenimini uyandırdım. Ek olarak, bu soru şimdi diğer yeni başlayanlar için geçerli olacak. Linkler için teşekkürler.
Tom Wright,

2
Bu sorunun diğer yeni başlayanlar için, özellikle kılavuzu gözden kaçırmazlarsa yararlı olacağı iddiasına katılmıyorum . Sadece kopya bir soru yaratacaklar.
Joshua Ulrich,

6
Ve dört yıl sonra, bu, Google’a bu sorunun cevabını bulmaya çalıştığım ikinci hit oldu. Bir kopya oluşturmama gerek yok (@JoshuaUlrich).
Richard,

Yanıtlar:


173

datasetveri çerçevesi olacak. Sahip olmadığım için forR.csv, gösterim amacıyla küçük bir veri çerçevesi oluşturacağım:

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

Vaka sayısı elde etmek için, kullanan satır sayısını saymak nrow()veya NROW():

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

İhmal sonra verileri saymak için NA, aynı araçları kullanmak, ancak sarın datasetiçinde na.omit():

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

Arasındaki fark NROW()ve NCOL()ve bunların küçük varyantlar ( ncol()ve nrow()) küçük versiyonları sadece boyutları (diziler, matrisler, veri çerçeveleri) olan nesneler için çalışacak olmasıdır. Büyük harf sürümleri, 1 sütun matriksi gibi işlenen vektörlerle çalışır ve verilerinizi R boş bir boyut bırakacak şekilde alt kümelere yerleştirirseniz sağlamdır.

Alternatif olarak, kullanın complete.cases()ve sum( gözlemlerin herhangi bir satır için olup olmadığını gösteren complete.cases()mantıksal bir vektör [ TRUEveya FALSE] döndürür NA.

> sum(complete.cases(dataset))
[1] 993

36

Kısaca:

  1. Run dim(dataset)hem almak için n ve k , aynı zamanda kullanabilir nrow(df)ve ncol(df)(ve hatta NROW(df)ve NCOL(df)- varyantlar da diğer türleri için gereklidir).

  2. Örn: örneğin üzerinden dönüştürürseniz dataset <- na.omit(dataset), durumlar gider ve sayılmaz. Ancak, örneğin summary(dataset) , örneğin NA davaları muhasebeleştirilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.