Khung Dữ liệu R: Cách Tạo, Nối, Chọn & Tập hợp con

Mục lục:

Anonim

Khung dữ liệu là gì?

Một khung dữ liệu là danh sách các vectơ đó là chiều dài bằng nhau. Một ma trận chỉ chứa một loại dữ liệu, trong khi một khung dữ liệu chấp nhận các kiểu dữ liệu khác nhau (số, ký tự, nhân tố, v.v.).

Trong hướng dẫn này, bạn sẽ học-

  • Khung dữ liệu là gì?
  • Cách tạo khung dữ liệu
  • Nối một cột vào khung dữ liệu
  • Chọn một cột của khung dữ liệu
  • Đặt con một khung dữ liệu

Cách tạo khung dữ liệu

Chúng ta có thể tạo dataframe trong R bằng cách chuyển biến a, b, c, d vào hàm data.frame (). Chúng ta có thể R tạo khung dữ liệu và đặt tên cho các cột bằng tên () và chỉ cần chỉ định tên của các biến.

data.frame(df, stringsAsFactors = TRUE)

Lập luận :

  • df : Nó có thể là một ma trận để chuyển đổi dưới dạng khung dữ liệu hoặc một tập hợp các biến để tham gia
  • stringAsFactors : Chuyển đổi chuỗi thành hệ số theo mặc định

Chúng ta có thể tạo khung dữ liệu trong R cho tập dữ liệu đầu tiên của mình bằng cách kết hợp bốn biến có cùng độ dài.

# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df

Đầu ra:

## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0

Chúng ta có thể thấy các tiêu đề cột có cùng tên với các biến. Chúng ta có thể thay đổi tên cột trong R bằng các tên hàm (). Kiểm tra ví dụ tạo khung dữ liệu R bên dưới:

# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df

Đầu ra:

## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)

Đầu ra:

## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7

Theo mặc định, khung dữ liệu trả về các biến chuỗi dưới dạng một nhân tố.

Khung dữ liệu lát

Có thể SLICE các giá trị của Khung dữ liệu. Chúng tôi chọn các hàng và cột để trả về trong ngoặc trước tên của khung dữ liệu.

Khung dữ liệu bao gồm các hàng và cột, df [A, B]. A đại diện cho các hàng và B đại diện cho các cột. Chúng ta có thể cắt bằng cách chỉ định các hàng và / hoặc cột.

Từ hình 1, phần bên trái đại diện cho các hàng, và phần bên phải là các cột . Lưu ý rằng các biểu tượng: phương tiện để . Ví dụ: 1: 3 dự định chọn các giá trị từ 1 đến 3.

Trong sơ đồ dưới đây, chúng tôi hiển thị cách truy cập các lựa chọn khác nhau của khung dữ liệu:

  • Mũi tên màu vàng chọn hàng 1 trong cột 2
  • Mũi tên màu xanh lá cây chọn các hàng từ 1 đến 2
  • Mũi tên màu đỏ chọn cột 1
  • Mũi tên màu xanh lam chọn các hàng từ 1 đến 3 và các cột từ 3 đến 4

Lưu ý rằng, nếu chúng ta để trống phần bên trái, R sẽ chọn tất cả các hàng . Tương tự, nếu chúng ta để trống phần bên phải, R sẽ chọn tất cả các cột .

Chúng tôi có thể chạy mã trong bảng điều khiển:

## Select row 1 in column 2df[1,2]

Đầu ra:

## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]

Đầu ra:

## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]

Đầu ra:

## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]

Đầu ra:

## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0

Cũng có thể chọn các cột có tên của chúng. Ví dụ: đoạn mã dưới đây trích xuất hai cột: ID và cửa hàng.

# Slice with columns namedf[, c('ID', 'store')]

Đầu ra:

## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE

Nối một cột vào khung dữ liệu

Bạn cũng có thể nối một cột vào Khung dữ liệu. Bạn cần sử dụng ký hiệu $ để nối biến R khung dữ liệu và thêm một cột vào khung dữ liệu trong R.

# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf

Đầu ra:

## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5

Lưu ý: Số phần tử trong vectơ phải bằng số phần tử trong khung dữ liệu. Thực hiện câu lệnh sau để thêm cột vào khung dữ liệu R

quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity

Đưa ra lỗi:

Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4 

Chọn một cột của khung dữ liệu

Đôi khi, chúng ta cần lưu trữ một cột của khung dữ liệu để sử dụng trong tương lai hoặc thực hiện thao tác trên một cột. Chúng ta có thể sử dụng dấu $ để chọn cột từ khung dữ liệu.

# Select the column IDdf$ID

Đầu ra:

## [1] 1 2 3 4

Đặt con một khung dữ liệu

Trong phần trước, chúng tôi đã chọn toàn bộ một cột mà không có điều kiện. Có thể tập hợp con dựa trên việc một điều kiện nhất định có đúng hay không.

Chúng tôi sử dụng hàm subset ().

subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement

Chúng tôi chỉ muốn trả lại những mặt hàng có giá trên 10, chúng tôi có thể làm:

# Select price above 5subset(df, subset = price > 5)

Đầu ra:

ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7