Tiếp tục trong Loạt bài Hướng dẫn về R websitehcm, hôm nay chúng ta sẽ tìm hiểu tất cả về các kiểu dữ liệu R, trong đó chúng ta sẽ hiểu chi tiết về các giá trị số, số nguyên, lôgic, phức và ký tự trong lập trình R. Chúng ta cũng sẽ xem xét sự khác biệt giữa chúng và cách tạo các biến chứa các loại giá trị này.
Các bài viết liên quan:
Vì vậy, hãy bắt đầu với hướng dẫn.
Các kiểu dữ liệu trong R là gì?
Để xử lý chính xác, một ngôn ngữ lập trình phải biết những gì có thể và không thể được thực hiện đối với một giá trị cụ thể. Ví dụ, không thể thực hiện thêm các từ ‘xin chào’ và ‘thế giới’.
Tương tự, bạn không thể thay đổi số 1 và -34,5 từ chữ thường sang chữ hoa. Do đó, R có một tính năng được gọi là các kiểu dữ liệu. Các loại giá trị khác nhau được gán các kiểu dữ liệu khác nhau giúp phân biệt chúng. Những loại này có những đặc điểm và quy tắc nhất định gắn liền với chúng xác định các thuộc tính của chúng.
R cung cấp các hàm class () và typeof () để tìm ra đâu là lớp và kiểu của bất kỳ biến nào.
Hãy xem xét từng loại dữ liệu này.
Để thực hành, bạn có thể cài đặt R & RStudio bằng cách làm theo hướng dẫn cài đặt R từng bước của chúng tôi.
Kiểu dữ liệu số
Kiểu dữ liệu số dành cho các giá trị số. Đây là kiểu dữ liệu mặc định cho các số trong R.
Ví dụ về các giá trị số sẽ là 1, 34,5, 3.145, -24, -45.003, v.v.
Mã số:
> num <- 1 > class(num) > typeof(num)
Đầu ra:
Lưu ý: Khi R lưu trữ một số trong một biến, nó sẽ chuyển đổi số đó thành giá trị ‘kép’ hoặc kiểu thập phân có ít nhất hai chữ số thập phân. Điều này có nghĩa là giá trị như ‘1’ được lưu trữ dưới dạng 1.00 với kiểu kép và kiểu số.
Kiểu dữ liệu số nguyên
Kiểu dữ liệu Integer được sử dụng cho các giá trị số nguyên. Để lưu trữ một giá trị dưới dạng số nguyên, chúng ta cần chỉ định nó như vậy. Kiểu dữ liệu số nguyên thường được sử dụng cho các giá trị chỉ rời rạc như id duy nhất. Chúng ta có thể lưu trữ cũng như chuyển đổi một giá trị thành một kiểu số nguyên bằng cách sử dụng hàm as.integer ().
Mã số:
> int <- as.integer(16) > class(int) > typeof(int) > int2 <- as.integer(num) > int2 > class(int2) > typeof(int2)
Đầu ra:
Chúng ta cũng có thể sử dụng ký hiệu viết hoa ‘L’ để biểu thị rằng một giá trị cụ thể thuộc kiểu dữ liệu số nguyên.
Mã số:
> int3 <- 5L > class(int3) > typeof(int3)
Đầu ra:
Kiểu dữ liệu phức tạp
Kiểu dữ liệu phức tạp là để lưu trữ các số với một thành phần ảo. Ví dụ về các giá trị phức tạp sẽ là 1 + 2i, 3i, 4-5i, -12 + 6i, v.v.
Mã số:
> comp <- 22-6i > class(comp) > typeof(comp)
Đầu ra:
Xem thêm Lý thuyết số học trong mã hóa
Kiểu dữ liệu lôgic
Kiểu dữ liệu lôgic lưu trữ các giá trị lôgic hoặc boolean là TRUE hoặc FALSE.
Mã số:
> logi <- FALSE > class(logi) > typeof(logi)
Đầu ra:
Kiểu dữ liệu ký tự
Kiểu dữ liệu ký tự lưu trữ các giá trị hoặc chuỗi ký tự. Các chuỗi trong R có thể chứa bảng chữ cái, số và ký hiệu. Cách dễ nhất để biểu thị rằng một giá trị có kiểu ký tự trong R là đặt giá trị bên trong dấu phẩy đảo ngược đơn hoặc kép.
Mã số:
> char <- "websitehcm1234" > class(char) > typeof(char)
Đầu ra:
Chúng ta cũng có thể sử dụng hàm as.character () để lưu trữ giá trị dưới dạng ký tự hoặc để chuyển đổi giá trị sang kiểu dữ liệu ký tự.
Mã số:
> char2 <- as.character("hello") > char3 <- as.character(comp) > char2 > char3 > class(char2) > typeof(char2) > class(char3) > typeof(char3)
Đầu ra:
Xem thêm Các kiểu dữ liệu trong GOLang
Chuyển đổi kiểu dữ liệu trong R
Chúng ta có thể chuyển đổi các giá trị từ kiểu dữ liệu này sang kiểu dữ liệu khác (nếu có thể). R có các quy tắc nhất định chi phối các chuyển đổi này.
Chuyển đổi thành số
Chúng ta có thể sử dụng hàm as.numerical để chuyển các giá trị của các kiểu dữ liệu khác thành các giá trị số. Việc chuyển đổi tuân theo một số quy tắc, đó là:
- Để chuyển một giá trị số nguyên thành số, chúng ta có thể sử dụng hàm as.numeric .
- Chúng ta có thể chuyển một giá trị phức thành số bằng cách sử dụng hàm. Điều này loại bỏ phần ảo của số.
- Giá trị logic cũng có thể được chuyển đổi thành số bằng hàm. Giá trị TRUE được chuyển đổi thành 1 và FALSE được chuyển đổi thành 0.
- Tương tự, giá trị ký tự có thể được chuyển đổi thành giá trị số nhưng nếu chuỗi chứa các chữ cái, bảng chữ cái và ký hiệu thì giá trị số sẽ trở thành NA.
Mã số:
> num2 <- as.numeric(int) > num2 > num3 <- as.numeric(comp) > num3 > num4 <- as.numeric(logi) > num4 > num5 <- as.numeric(char) > num5 <- as.numeric("1234") > num5
Đầu ra:
Chuyển đổi thành Số nguyên
Hàm as.integer có thể chuyển đổi giá trị của các kiểu dữ liệu khác thành giá trị số nguyên theo các quy tắc sau:
- Giá trị số có thể được chuyển đổi thành số nguyên bằng cách sử dụng hàm. Thao tác này sẽ xóa mọi giá trị thập phân khỏi số.
- Giá trị phức tạp cũng có thể được chuyển đổi thành số nguyên. Hàm loại bỏ các phần ảo của số.
- Việc chuyển đổi từ giá trị logic sang số nguyên tương tự như việc chuyển đổi giá trị logic thành số. TRUE được chuyển thành 1 và FALSE được chuyển thành 0.
- Giá trị ký tự cũng có thể được chuyển đổi thành số nguyên bằng cách sử dụng hàm as.integer . Việc chuyển đổi này tuân theo các quy tắc tương tự như chuyển đổi ký tự sang số.
Mã số:
> int4 <- as.integer(num) > int4 > int5 <- as.integer(14.7) > int5 > int6 <- as.integer(comp) > int6 > int7 <- as.integer(logi) > int7 > int8 <- as.integer("1234") > int8
Đầu ra:
Xem thêm NumPy Datatypes trong thư viện NumPy
Chuyển đổi thành Phức hợp
Sử dụng hàm as.complex , chúng ta có thể chuyển đổi các giá trị khác thành các kiểu dữ liệu phức tạp. Việc chuyển đổi diễn ra theo các quy tắc sau:
- Các giá trị số có thể được chuyển đổi thành phức bằng cách sử dụng hàm as.complex hoặc bằng cách thêm một phần tưởng tượng vào nó.
- Giá trị số nguyên cũng có thể được chuyển đổi tương tự thành các giá trị phức tạp.
- Giá trị logic trở thành 0 + 0i đối với FALSE và 1 + 0i đối với TRUE khi được chuyển đổi thành giá trị phức tạp bằng cách sử dụng hàm as.complex. Chúng ta cũng có thể chuyển một giá trị logic thành một giá trị phức bằng cách thêm một phần tưởng tượng vào nó.
- Việc chuyển đổi từ ký tự thành phức cũng giống như chuyển đổi từ ký tự sang số hoặc một số nguyên có thêm 0i vào giá trị được chuyển đổi nếu nó không phải là NA.
Mã số:
> comp2 <- as.complex(num) > comp2 > comp3 <- as.complex(int) > comp3 > comp4 <- as.complex(logi) > comp4 > comp5 <- as.complex("1234") > comp5
Đầu ra:
Chuyển đổi thành lôgic
Việc chuyển đổi thành kiểu dữ liệu logic có thể được thực hiện bằng cách sử dụng hàm as.logical , bằng cách tuân theo các quy tắc đã cho:
- Các giá trị số, số nguyên và phức có thể được chuyển đổi thành các giá trị logic, nhưng hàm trả về FALSE nếu giá trị bằng 0 và TRUE nếu nó là bất kỳ giá trị nào khác.
- Giá trị ký tự khi được chuyển đổi bởi hàm as.logical, luôn trả về NA.
Mã số:
> logi2 <- as.logical(num) > logi2 > logi3 <- as.logical(int) > logi3 > logi4 <- as.logical(comp) > logi4 > logi5 <- as.logical(char) > logi5
Đầu ra:
Xem thêm Giao thức Mạng trong TCP/IP
Chuyển đổi thành nhân vật
Chúng ta có thể chuyển đổi một giá trị của bất kỳ kiểu dữ liệu nào thành kiểu dữ liệu ký tự bằng cách sử dụng hàm as.character . Hàm chuyển giá trị ban đầu thành chuỗi ký tự.
Mã số:
> char2 <- as.character(num) > char2 > char3 <- as.character(int) > char3 > char4 <- as.character(comp) > char4 > char5 <- as.character(logi) > char5
Đầu ra: Lưu ý: Giá trị NA không có kiểu và do đó giữ nguyên như vậy khi được chuyển đổi thành bất kỳ kiểu nào.
Kết luận trong kiểu dữ liệu R
Trong hướng dẫn về R này, chúng ta đã tìm hiểu về các loại dữ liệu khác nhau mà R hỗ trợ. Các kiểu dữ liệu này là nền tảng cơ bản của bất kỳ loại dữ liệu nào trong lập trình R. Họ gán ý nghĩa cho các giá trị trong R và cũng cho R biết cách xử lý và cách không xử lý chúng.
Xem thêm Các kiểu dữ liệu trong c++