R - Loại dữ liệu
Nói chung, trong khi lập trình bằng bất kỳ ngôn ngữ lập trình nào, bạn cần sử dụng các biến khác nhau để lưu trữ các thông tin khác nhau. Các biến không là gì ngoài các vị trí bộ nhớ dành riêng để lưu trữ các giá trị. Điều này có nghĩa là, khi bạn tạo một biến, bạn dành một số không gian trong bộ nhớ.
Bạn có thể muốn lưu trữ thông tin của nhiều kiểu dữ liệu khác nhau như ký tự, ký tự rộng, số nguyên, dấu phẩy động, dấu chấm động kép, Boolean, v.v. Dựa trên kiểu dữ liệu của một biến, hệ điều hành phân bổ bộ nhớ và quyết định những gì có thể được lưu trữ trong bộ nhớ dành riêng.
Ngược lại với các ngôn ngữ lập trình khác như C và java trong R, các biến không được khai báo dưới dạng một số kiểu dữ liệu. Các biến được gán với các đối tượng R và kiểu dữ liệu của đối tượng R trở thành kiểu dữ liệu của biến. Có nhiều loại R-object. Những cái thường được sử dụng là -
- Vectors
- Lists
- Matrices
- Arrays
- Factors
- Khung dữ liệu
Đơn giản nhất trong số các đối tượng này là vector objectvà có sáu kiểu dữ liệu của các vectơ nguyên tử này, còn được gọi là sáu loại vectơ. Các đối tượng R khác được xây dựng dựa trên các vectơ nguyên tử.
Loại dữ liệu | Thí dụ | Kiểm chứng |
---|---|---|
Hợp lý | ĐÚNG SAI |
nó tạo ra kết quả sau: |
Số | 12,3, 5, 999 |
nó tạo ra kết quả sau: |
Số nguyên | 2L, 34L, 0L |
nó tạo ra kết quả sau: |
Phức tạp | 3 + 2i |
nó tạo ra kết quả sau: |
Tính cách | 'a', "tốt", "TRUE", '23 .4 ' |
nó tạo ra kết quả sau: |
Nguyên | "Xin chào" được lưu trữ dưới dạng 48 65 6c 6c 6f |
nó tạo ra kết quả sau: |
Trong lập trình R, các kiểu dữ liệu rất cơ bản là các đối tượng R được gọi là vectorschứa các phần tử của các lớp khác nhau như được hiển thị ở trên. Xin lưu ý rằng trong R, số lượng các lớp không chỉ giới hạn trong sáu loại trên. Ví dụ, chúng ta có thể sử dụng nhiều vectơ nguyên tử và tạo một mảng mà lớp của nó sẽ trở thành mảng.
Vectơ
Khi bạn muốn tạo vectơ có nhiều hơn một phần tử, bạn nên sử dụng c() có nghĩa là kết hợp các phần tử thành một vectơ.
# Create a vector.
apple <- c('red','green',"yellow")
print(apple)
# Get the class of the vector.
print(class(apple))
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[1] "red" "green" "yellow"
[1] "character"
Danh sách
Danh sách là một đối tượng R có thể chứa nhiều loại phần tử khác nhau bên trong nó như vectơ, hàm và thậm chí là một danh sách khác bên trong nó.
# Create a list.
list1 <- list(c(2,5,3),21.3,sin)
# Print the list.
print(list1)
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[[1]]
[1] 2 5 3
[[2]]
[1] 21.3
[[3]]
function (x) .Primitive("sin")
Ma trận
Ma trận là một tập dữ liệu hình chữ nhật hai chiều. Nó có thể được tạo bằng cách sử dụng đầu vào là vector cho hàm ma trận.
# Create a matrix.
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[,1] [,2] [,3]
[1,] "a" "a" "b"
[2,] "c" "b" "a"
Mảng
Trong khi ma trận được giới hạn trong hai chiều, mảng có thể có bất kỳ số thứ nguyên nào. Hàm mảng nhận thuộc tính dim tạo ra số thứ nguyên cần thiết. Trong ví dụ dưới đây, chúng ta tạo một mảng có hai phần tử là ma trận 3x3 mỗi phần tử.
# Create an array.
a <- array(c('green','yellow'),dim = c(3,3,2))
print(a)
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
, , 1
[,1] [,2] [,3]
[1,] "green" "yellow" "green"
[2,] "yellow" "green" "yellow"
[3,] "green" "yellow" "green"
, , 2
[,1] [,2] [,3]
[1,] "yellow" "green" "yellow"
[2,] "green" "yellow" "green"
[3,] "yellow" "green" "yellow"
Các nhân tố
Yếu tố là các đối tượng r được tạo ra bằng cách sử dụng một vectơ. Nó lưu vectơ cùng với các giá trị riêng biệt của các phần tử trong vectơ dưới dạng nhãn. Các nhãn luôn là ký tự bất kể đó là số hay ký tự hoặc Boolean, v.v. trong vectơ đầu vào. Chúng hữu ích trong mô hình thống kê.
Các yếu tố được tạo ra bằng cách sử dụng factor()chức năng. Cácnlevels hàm cung cấp số lượng cấp độ.
# Create a vector.
apple_colors <- c('green','green','yellow','red','red','red','green')
# Create a factor object.
factor_apple <- factor(apple_colors)
# Print the factor.
print(factor_apple)
print(nlevels(factor_apple))
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
[1] green green yellow red red red green
Levels: green red yellow
[1] 3
Khung dữ liệu
Khung dữ liệu là các đối tượng dữ liệu dạng bảng. Không giống như ma trận trong khung dữ liệu, mỗi cột có thể chứa các chế độ dữ liệu khác nhau. Cột đầu tiên có thể là số trong khi cột thứ hai có thể là ký tự và cột thứ ba có thể là lôgic. Nó là một danh sách các vectơ có độ dài bằng nhau.
Khung dữ liệu được tạo bằng cách sử dụng data.frame() chức năng.
# Create the data frame.
BMI <- data.frame(
gender = c("Male", "Male","Female"),
height = c(152, 171.5, 165),
weight = c(81,93, 78),
Age = c(42,38,26)
)
print(BMI)
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
gender height weight Age
1 Male 152.0 81 42
2 Male 171.5 93 38
3 Female 165.0 78 26