如何在 R 中获取 data.frame 的行数?

机器算法验证 r
2022-01-18 11:52:29

读取数据集后:

dataset <- read.csv("forR.csv")
  • 我怎样才能让 R 给我它包含的案例数量?
  • 此外,返回值是否包括用 ? 省略的排除情况na.omit(dataset)
2个回答

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()or计算行数NROW()

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

要在省略 后计算数据,请使用相同NA工具,但包含datasetna.omit()

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

NROW()NCOL()和它们的小写变体(ncol()和)之间的区别在于nrow(),小写版本仅适用于具有维度(数组、矩阵、数据框)的对象。大写版本将与向量一起使用,它们被视为 1 列矩阵,并且如果您最终对数据进行子集化以使 R 删除一个空维度,则它们是稳健的。

或者,使用complete.cases()and sumit (complete.cases()返回一个逻辑向量 [TRUEFALSE] 指示是否有任何观察是NA针对任何行的。

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

简要地:

  1. 运行dim(dataset)以检索nk,您还可以使用nrow(df)and ncol(df)(甚至NROW(df)NCOL(df)- 其他类型也需要变体)。

  2. 如果您转换例如 via dataset <- na.omit(dataset),则案例消失且不计算在内。但是,如果您这样做,例如 summary(dataset)NA 案例将被计算在内。