Cách sử dụng tóm tắt trên nhóm của Khung dữ liệu trong R? Các tóm tắt () hoặc tóm tắt () hàm thực hiện việc tổng hợp dữ liệu được nhóm lại, vì vậy để sử dụng hàm này trước tiên bạn cần thực hiện group_by () và tất cả các chức năng này là từ dplyr bưu kiện. Cả hai tóm tắt () & tóm tắt () hàm là những từ đồng nghĩa.

1. Cú pháp của Tổng kết ()

Sau đây là cú pháp của summarise() hoặc summarize() chức năng.

# Syntax of  summarise  &  summarize  functions
 summarise (.data, ..., .groups = NULL)
 summarize (.data, ..., .groups = NULL)

Lập luận của summarise() hàm số.

Hãy tạo DataFrame bằng cách đọc CSV . Tôi sẽ sử dụng khung dữ liệu này để nhóm trên các cột nhất định và tóm tắt trên các cột số như lương, tuổi và tiền thưởng.

  
# Read CSV file into DataFrame
df = read.csv('/Users/admin/apps/github/r-examples/resources/emp.csv')
df
 

Sản lượng thấp hơn sản lượng.

nhóm r bằng cách tóm tắt

2. Nhóm Theo Tóm tắt R Ví dụ

summarise() hoặc summarize() hàm lấy khung / bảng dữ liệu được nhóm làm đầu vào và thực hiện tóm tắt chức năng. Để sử dụng khung dữ liệu đã giảm group_by () hàm số.

Để sử dụng group_by()summarize() các chức năng, bạn phải cài đặt dplyr lần đầu tiên sử dụng install.packages(‘dplyr’) và tải nó bằng cách sử dụng library(dplyr).

Tất cả các chức năng trong dplyr gói lấy data.frame làm đối số đầu tiên. Khi chúng tôi sử dụng dplyr gói, chúng tôi chủ yếu sử dụng toán tử infix %>% từ magrittr, nó chuyển phía bên trái của toán tử sang đối số đầu tiên của phía bên phải của toán tử. Ví dụ, x %>% f(y) được chuyển đổi thành f (x, y) để kết quả từ phía bên trái sau đó được chuyển sang phía bên phải.

# Load  dplyr 
library( dplyr )

# Group by mean using  dplyr 
agg_tbl <- df %>%  group_by (department) %>% 
   summarise (mean_age=mean(age),
            .groups="drop")
agg_tbl

Lưu ý rằng group_by() nhận DataFrame như đầu vào và summarise() chức năng mất tibble/dataframe làm đầu vào và trả về bảng nhỏ, vì vậy, để chuyển đổi bảng nhỏ sang sử dụng khung dữ liệu as.data.frame(), hãy viết lại câu lệnh trên bằng cách sử dụng hàm này.

# Group by mean using  dplyr 
df2 <- df %>%  group_by (department) %>% 
   summarise (mean_age=mean(age),.groups="drop") %>%
  as.data.frame()
df2 

Sản lượng thấp hơn sản lượng

3. Nhóm Theo Tóm tắt () Các hàm trong R

Có một số hàm tổng hợp bạn có thể sử dụng với tóm tắt (). Tất cả các hàm này được sử dụng để tính toán tổng hợp trên dữ liệu được nhóm.

Tóm tắt nhóm Tóm tắt chức năng Sự mô tả
Đếm n() Nhận số lượng các giá trị
n_distinct() Nhận số lượng các giá trị riêng biệt
Agg sum() Tính tổng
mean() Hàm chung cho giá trị trung bình số học (đã cắt).
median() Tính toán trung vị mẫu.
Phạm vi min() Tính toán đầu vào tối thiểu
max() Tính toán tối đa đầu vào
quantile() Sản xuất lượng tử mẫu
Chức vụ first() Nhận giá trị đầu tiên
last() Nhận giá trị cuối cùng
nth() Nhận giá trị thứ n
Truyền đi sd() Tính toán độ lệch chuẩn
iqr() Tính toán phạm vi liên phần tư
mad Tính độ lệch tuyệt đối trung bình
Hợp lý any() không tí nào
all() tất cả các
Nhóm theo chức năng tóm tắt

Trong phần còn lại của bài viết, tôi sẽ giải thích các ví dụ khác nhau về việc sử dụng tóm tắt () trên một nhóm theo dữ liệu và sau đó sẽ bao gồm các ví dụ cho từng hàm trên.

5. Tóm tắt trên Nhiều Cột trong R

Bằng cách sử dụng dplyr group_by () thực hiện nhóm trên các cột phòng ban và tiểu bang (nhiều cột) và lấy trung bình của tiền lương và tiền thưởng cho mỗi phòng ban và kết hợp nhà nước.

# Group by mean of multiple columns
df2 <- df %>%  group_by (department,state) %>% 
   summarise (mean_salary=mean(salary),
            mean_bonus= mean(bonus),
            .groups="drop") %>%
  as.data.frame()
df2

Sản lượng thấp hơn sản lượng.

r tóm tắt nhiều cột

Bạn cũng có thể dùng băng qua() với vectơ của các yếu tố bạn muốn áp dụng tóm tắt trên.

# Group by mean of multiple columns
df2 <- df %>%  group_by (department,state) %>% 
   summarise ( across (c(salary, bonus),mean),
            .groups="drop") %>%
  as.data.frame()
df2

6. Tóm tắt Tất cả các cột ngoại trừ nhóm theo cột

Cuối cùng, hãy xem cách áp dụng trung bình của hàm theo nhóm và hàm tổng hợp trên tất cả các cột của Khung dữ liệu ngoại trừ việc nhóm các cột. Trong khi làm điều này, hãy đảm bảo rằng khung dữ liệu của bạn chỉ có các cột số cộng với các cột nhóm. Bật không phải số tóm tắt trả về một lỗi.

Ví dụ này thực hiện trạng thái nhóm theo bộ phận và cột, tóm tắt trên tất cả các cột ngoại trừ nhóm nhóm và áp dụng hàm trung bình trên tất cả các cột được tóm tắt.

# Mean on all columns
num_df<- df[,c("department","state","age","salary","bonus")]
df2 <- num_df %>%  group_by (department, state) %>% 
   summarise ( across (everything(), mean),
            .groups="drop")  %>%
  as.data.frame()
df2

Sản lượng thấp hơn sản lượng.

r nhóm có nghĩa là tất cả các cột

Sự kết luận

Tất cả các phương pháp R Tóm tắt về Nhóm Theo trong Dplyr mà tôi đã đề cập đều hoạt động tốt. Cảm ơn các bạn đã đọc và hãy bình luận bên dưới với những suy nghĩ của bạn về bài viết này và chia sẻ signalfix.net với bạn bè của bạn.