Sau khi đọc dữ liệu:
dataset <- read.csv("forR.csv")
- Làm thế nào tôi có thể nhận được R để cho tôi số lượng các trường hợp nó chứa?
- Ngoài ra, giá trị trả về sẽ bao gồm các trường hợp loại trừ được bỏ qua với
na.omit(dataset)
?
Sau khi đọc dữ liệu:
dataset <- read.csv("forR.csv")
na.omit(dataset)
?Câu trả lời:
dataset
sẽ là một khung dữ liệu. Như tôi không có forR.csv
, tôi sẽ tạo một khung dữ liệu nhỏ để minh họa:
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
Để lấy số lượng các trường hợp, hãy đếm số lượng hàng bằng nrow()
hoặc NROW()
:
> nrow(dataset)
[1] 1000
> NROW(dataset)
[1] 1000
Để đếm dữ liệu sau khi bỏ qua NA
, sử dụng các công cụ tương tự, nhưng quấn dataset
trong na.omit()
:
> NROW(na.omit(dataset))
[1] 993
Sự khác biệt giữa NROW()
và NCOL()
và các biến thể chữ thường của chúng ( ncol()
và nrow()
) là các phiên bản chữ thường sẽ chỉ hoạt động cho các đối tượng có kích thước (mảng, ma trận, khung dữ liệu). Các phiên bản chữ hoa sẽ hoạt động với các vectơ, được xử lý như thể chúng là ma trận 1 cột và rất mạnh nếu bạn kết thúc việc đặt lại dữ liệu của mình sao cho R giảm kích thước trống.
Ngoài ra, sử dụng complete.cases()
và sum
nó ( complete.cases()
trả về một vectơ logic [ TRUE
hoặc FALSE
] cho biết nếu có bất kỳ quan sát nào NA
cho bất kỳ hàng nào.
> sum(complete.cases(dataset))
[1] 993
Tóm tắt:
Chạy dim(dataset)
để lấy cả n và k , bạn cũng có thể sử dụng nrow(df)
và ncol(df)
(và thậm chí NROW(df)
và NCOL(df)
- các biến thể cũng cần thiết cho các loại khác).
Nếu bạn chuyển đổi, ví dụ thông qua dataset <- na.omit(dataset)
, thì các trường hợp sẽ biến mất và không được tính. Nhưng nếu bạn làm ví dụ như summary(dataset)
các trường hợp NA được tính.
str()
vì nó cung cấp các chi tiết hữu ích khác về đối tượng của bạn. Thường có thể giải thích lý do tại sao một cột không hoạt động như bình thường (yếu tố thay vì số, v.v.).