Nhận một số cột trong R DataFrame

Nhan Mot So Cot Trong R Dataframe



Trong R, lấy số lượng cột là thao tác cơ bản được yêu cầu trong nhiều tình huống khi làm việc với DataFrames. Khi đặt con, phân tích, thao tác, xuất bản và trực quan hóa dữ liệu, số lượng cột là một phần thông tin quan trọng cần biết. Do đó, R cung cấp các cách tiếp cận khác nhau để lấy tổng số cột của DataFrame đã chỉ định. Trong bài viết này, chúng tôi sẽ thảo luận về một số phương pháp giúp chúng tôi lấy số lượng cột của DataFrame.

Ví dụ 1: Sử dụng Hàm Ncol()

ncol() là chức năng thường xuyên nhất để lấy tổng số cột của DataFrames.







df <- data.frame('y1' = c(10, 12, 14, 19),

'y2' = c(15, 22, 24, 29),
'y3' = c(25, 32, 34, 39))


n <- ncol(df)

cat('-----Số cột trong Data Frame :', n)

Trong ví dụ này, trước tiên, chúng tôi tạo Khung dữ liệu “df” với ba cột được gắn nhãn là “y1”, “y2” và “y3” bằng cách sử dụng hàm data.frame() trong R. Các phần tử trong mỗi cột được chỉ định bằng cách sử dụng hàm c() tạo một vectơ các phần tử. Sau đó, bằng cách sử dụng biến “n”, hàm ncol() được sử dụng để xác định tổng số cột trong Khung dữ liệu “df”. Cuối cùng, với thông báo mô tả và biến “n”, hàm cat() được cung cấp sẽ in kết quả trên bảng điều khiển.



Như mong đợi, đầu ra được truy xuất chỉ ra rằng DataFrame đã chỉ định có ba cột:







Ví dụ 2: Đếm Tổng số Cột cho Khung dữ liệu trống

Tiếp theo, chúng tôi áp dụng hàm ncol() cho DataFrame trống, hàm này cũng nhận các giá trị của tổng số cột nhưng giá trị đó bằng không.

empty_df <- data.frame()

n <- ncol(empty_df)

cat('---Các cột trong khung dữ liệu :', n)

Trong ví dụ này, chúng tôi tạo DataFrame trống, “empty_df”, bằng cách gọi data.frame() mà không chỉ định bất kỳ cột hoặc hàng nào. Tiếp theo, chúng tôi sử dụng hàm ncol() được sử dụng để tìm số lượng cột trong DataFrame. Hàm ncol() được đặt với Khung dữ liệu “empty_df” tại đây để lấy tổng số cột. Vì Khung dữ liệu “empty_df” trống nên nó không có bất kỳ cột nào. Vì vậy, đầu ra của ncol(empty_df) là 0. Kết quả được hiển thị bởi hàm cat() được triển khai ở đây.



Đầu ra hiển thị giá trị “0” như mong đợi vì DataFrame trống.

Ví dụ 3: Sử dụng Hàm Select_If() với Hàm Length()

Nếu chúng ta muốn lấy số lượng cột của bất kỳ loại cụ thể nào, chúng ta nên sử dụng hàm select_if() kết hợp với hàm length() của R. Các hàm này được sử dụng để kết hợp với nhau để lấy tổng số cột của từng loại . Mã để sử dụng các chức năng này được triển khai như sau:

thư viện (dplyr)

x1<-chữ cái[1:10]

x2<-rpois(10,2)

x3<-rpois(10,5)

x4<-sample(c('Summer','Winter'),10,replace=TRUE)

df1<-data.frame(x1,x2,x3,x4)

df1

độ dài(select_if(df1,is.numeric))

Trong ví dụ này, trước tiên chúng ta tải gói dplyr để có thể truy cập hàm select_if() và hàm length(). Sau đó, chúng ta tạo bốn biến – “x1”, “x2”, “x3” và “x4” tương ứng. Ở đây, “x1” chứa 10 chữ hoa đầu tiên của bảng chữ cái tiếng Anh. Các biến “x2” và “x3” được tạo bằng cách sử dụng hàm rpois() để tạo hai vectơ riêng biệt gồm 10 số ngẫu nhiên với các tham số lần lượt là 2 và 5. Biến “x4” là một vectơ nhân tố có 10 phần tử được lấy mẫu ngẫu nhiên từ vectơ c (“Mùa hè”, “Mùa đông”).

Sau đó, chúng tôi cố gắng tạo Khung dữ liệu “df1” trong đó tất cả các biến được chuyển vào hàm data.frame(). Cuối cùng, chúng tôi gọi hàm length() để xác định độ dài của Khung dữ liệu “df1” được tạo bằng cách sử dụng hàm select_if() từ gói dplyr. Hàm select_if() chọn các cột từ Khung dữ liệu “df1” làm đối số và hàm is.numeric() chỉ chọn các cột chứa giá trị số. Sau đó, hàm length() lấy tổng số cột được chọn bởi select_if(), đây là đầu ra của toàn bộ mã.

Độ dài của cột được hiển thị trong đầu ra sau cho biết tổng số cột của DataFrame:

Ví dụ 4: Sử dụng hàm Sapply()

Ngược lại, nếu chúng ta chỉ muốn đếm các giá trị còn thiếu của các cột, chúng ta có hàm sapply(). Hàm sapply() lặp qua từng cột của DataFrame để hoạt động cụ thể. Đầu tiên, hàm sapply() được truyền với DataFrame làm đối số. Sau đó, thao tác sẽ được thực hiện trên DataFrame đó. Việc triển khai hàm sapply() để lấy số lượng giá trị NA trong các cột DataFrame được cung cấp như sau:

new_df <- data.frame(c1 = c(10, 11, NA, 13, NA),

c2 = c('N', NA, 'A', 'M', 'E'),
c3 = c(NA, 92, NA, NA, 95))

sapply(new_df, function(x) sum(is.na(x)))

Trong ví dụ này, chúng tôi tạo Khung dữ liệu “new_df” với ba cột – “c1”, “c2” và “c3”. Các cột đầu tiên, “c1” và “c3”, chứa các giá trị số bao gồm một số giá trị bị thiếu được đại diện bởi NA. Cột thứ hai, “c2”, chứa các ký tự bao gồm một số giá trị bị thiếu cũng được đại diện bởi NA. Sau đó, chúng tôi áp dụng hàm sapply() cho Khung dữ liệu “new_df” và tính số lượng giá trị bị thiếu trong mỗi cột bằng cách sử dụng biểu thức sum() bên trong hàm sapply().

Hàm is.na() là biểu thức được chỉ định cho hàm sum() trả về một vectơ logic cho biết mỗi phần tử trong cột có bị thiếu hay không. Hàm sum() cộng các giá trị TRUE để đếm số lượng giá trị bị thiếu trong mỗi cột.

Do đó, đầu ra hiển thị tổng giá trị NA trong mỗi cột:

Ví dụ 5: Sử dụng Hàm Dim()

Ngoài ra, chúng tôi muốn lấy tổng số cột cùng với các hàng của DataFrame. Sau đó, hàm dim() cung cấp kích thước của DataFrame. Hàm dim() lấy đối tượng làm đối số có kích thước mà chúng ta muốn truy xuất. Đây là mã để sử dụng hàm dim():

d1 <- data.frame(team=c('t1', 't2', 't3', 't4'),

điểm=c(8, 10, 7, 4))

mờ(d1)

Trong ví dụ này, trước tiên chúng tôi xác định Khung dữ liệu “d1” được tạo bằng cách sử dụng hàm data.frame() trong đó hai cột được đặt là “nhóm” và “điểm”. Sau đó, chúng tôi gọi hàm dim() trên Khung dữ liệu “d1”. Hàm dim() trả về số lượng hàng và cột của DataFrame. Do đó, khi chúng tôi chạy dim(d1), nó sẽ trả về một vectơ có hai phần tử – phần tử đầu tiên phản ánh số lượng hàng trong Khung dữ liệu “d1” và phần tử thứ hai biểu thị số lượng cột.

Đầu ra biểu thị kích thước của DataFrame trong đó giá trị “4” biểu thị tổng số cột và giá trị “2” biểu thị các hàng:

Phần kết luận

Bây giờ chúng ta đã biết rằng việc đếm số cột trong R là một thao tác đơn giản và quan trọng có thể được thực hiện trên DataFrame. Trong số tất cả các chức năng, chức năng ncol() là cách thuận tiện nhất. Bây giờ, chúng ta đã quen thuộc với các cách khác nhau để lấy số lượng cột từ DataFrame đã cho.