Rのdata.frameの行数を取得するにはどうすればよいですか?[閉まっている]


157

データセットを読み込んだ後:

dataset <- read.csv("forR.csv")
  • Rに含まれるケースの数を取得するにはどうすればよいですか?
  • また、戻り値には、na.omit(dataset)?で省略された除外ケースが含まれますか?

1
またstr()、オブジェクトに関するその他の有用な詳細を提供するので、見てみることをお勧めします。多くの場合、列が本来のように動作しない理由を説明できます(数値ではなく要因など)。
チェイス

3
最初にOwenのRガイド(cran.r-project.org/doc/contrib/Owen-TheRGuide.pdf)を読み、可能であればRの概要(cran.r-project.org/doc/manuals/R- intro.pdf)。どちらもRの公式Webサイトにあります。実際に答えを得ることができたのは非常に幸運です。r-helpリストでは、エレガントではない用語でマニュアルにリダイレクトされます。違反は意味しません。
ジョリスメイズ

11
@Joris-論点は(違反なしに)取られましたが、SEサイトはマニュアルでは得られない方法で問題/解決策の学習を促進するように設計されていると感じました。さらに、この質問は他の初心者にも利用できるようになります。リンクをありがとう。
トム・ライト

2
この質問は、特にマニュアルをざっと読んでいない場合、他の初心者にとっても役立つというあなたの主張には同意しません。重複する質問を作成するだけです。
ジョシュア

6
そして、4年後、これはこの質問に対する答えを見つけようとしてGoogleで得た2番目のヒットです。複製を作成する必要はありません(@JoshuaUlrich)。
リチャード14

回答:


173

datasetデータフレームになります。持っていないのでforR.csv、説明のために小さなデータフレームを作成します。

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

ケースの数を取得するには、nrow()またはを使用して行の数をカウントしますNROW()

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

を省略した後にデータをカウントするNAには、同じツールを使用しますが、ラップdatasetna.omit()ます:

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

NROW()and NCOL()と小文字のバリアント(ncol()およびnrow())の違いは、小文字バージョンは次元(配列、行列、データフレーム)を持つオブジェクトに対してのみ機能することです。大文字バージョンは、1列の行列であるかのように扱われ、Rが空の次元を削除するようにデータをサブセット化する場合に堅牢なベクトルで動作します。

または、complete.cases()and sumit(を使用して、任意の行に対する観測値があるかどうかを示すcomplete.cases()論理ベクトル[ TRUEまたはFALSE]を返しNAます。

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

36

簡単に:

  1. 実行dim(dataset)してnkの両方を取得します。また、nrow(df)andを使用することもできますncol(df)(さらにNROW(df)andとNCOL(df)-バリアントは他のタイプにも必要です)。

  2. たとえばを介して変換するとdataset <- na.omit(dataset)、ケースはなくなり、カウントされません。しかし、もしあなたがそうするなら summary(dataset)、NAのケースが説明されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.