Factor trong R được sử dụng để lưu trữ dữ liệu phân loại dưới dạng các mức. Nó có thể lưu trữ cả kiểu dữ liệu ký tự và số nguyên. Các yếu tố này được tạo ra với sự trợ giúp của các hàm factor () , bằng cách lấy một vector làm đầu vào.
Vì vậy, tại sao lãng phí thời gian? Hãy bắt đầu quá trình tạo các nhân tố, truy cập các thành phần của nó, tạo cấp nhân tố và sửa đổi với sự trợ giúp của các ví dụ.
Attributes R là gì?
Các Attributes R là các biến. Nó có một số giới hạn các giá trị khác nhau. Do đó, những biến đó thường được gọi là biến phân loại . Để phân loại dữ liệu và lưu trữ trên nhiều cấp, chúng tôi sử dụng đối tượng dữ liệu được gọi là R factor. Chúng có thể lưu trữ cả chuỗi và số nguyên. Chúng cũng hữu ích trong các cột có một số giá trị duy nhất hạn chế.
Các bài viết liên quan:
Yếu tố được lưu trữ dưới dạng số nguyên. Chúng có các nhãn được liên kết với các số nguyên duy nhất này. Chúng ta cần phải cẩn thận trong khi xử lý các yếu tố như chuỗi. Yếu tố chứa một giá trị đặt được xác định trước được gọi là các mức. Theo mặc định, R luôn sắp xếp các cấp theo thứ tự bảng chữ cái.
Các thuộc tính của một Factor
Một số thuộc tính quan trọng của hệ số mà chúng tôi sẽ sử dụng trong bài viết này là:
- x: Vectơ đầu vào sẽ được biến đổi thành một vectơ.
- levels: Đây là một vectơ tùy chọn đại diện cho một tập hợp các giá trị duy nhất được lấy bởi x.
- labels : Nó là một vectơ ký tự tương ứng với số lượng nhãn.
- Exclude : Với thuộc tính này, chúng tôi chỉ định các giá trị được loại trừ.
- ordered : Đây là một thuộc tính logic xác định xem các mức có nên được sắp xếp hay không.
- nmax : Thuộc tính này chỉ định giới hạn trên cho số cấp tối đa.
Cách tạo R Factor
Để tạo yếu tố R đầu tiên của bạn, chúng tôi sử dụng hàm factor () .
Để tạo yếu tố của chúng tôi, trước tiên chúng tôi tạo một vectơ gọi là ‘hướng’ chứa hướng “Bắc”, “Tây” và “Nam”. Lưu ý rằng “Đông” không có trong vectơ này.
> #Author DataFlair > directions <- c("North", "North", "West", "South")
Hãy để chúng tôi chuyển đổi vectơ này thành một thừa số bằng cách sử dụng hàm factor () :
factor(directions)
Lưu ý rằng trong đầu ra, chúng ta có ba cấp độ “Bắc”, “Nam” và “Tây”. Điều này không chứa “Bắc” dư thừa đã xuất hiện hai lần trong vectơ đầu vào của chúng tôi.
Để thêm cấp độ còn thiếu này vào các yếu tố của chúng tôi, chúng tôi sử dụng thuộc tính “cấp độ” như sau:
factor(directions, levels= c("North", "East", "South", "West"))
Để cung cấp các từ viết tắt hoặc ‘label’ cho các cấp của chúng tôi, chúng tôi sử dụng đối số nhãn như sau:
factor(directions, levels= c("North", "East", "South", "West"), labels=c("N", "E", "S", "W"))
Cuối cùng, nếu bạn muốn loại trừ bất kỳ cấp độ nào khỏi yếu tố của mình, bạn có thể sử dụng đối số loại trừ. Ví dụ: chúng ta hãy loại trừ “North” khỏi danh sách các cấp. Để làm như vậy, chúng tôi khởi tạo loại trừ bằng “North”.
factor(directions, levels= c("North", "East", "South", "West"), exclude = "North")
Làm thế nào để tạo ra level factor trong R
Để tạo ra các mức nhân tố trong R , chúng ta sử dụng hàm gl () . Cú pháp cho hệ số tạo là gl (n, k, các nhãn) trong đó n là một số nguyên xác định số cấp.
- k là một số nguyên cho ra một số lần lặp lại.
- Và, nhãn chỉ đơn giản là véc tơ nhãn cho yếu tố của chúng ta.
> BigData <- gl(3, 2, labels = c("Hadoop", "Spark","Flink")) > print(BigData)
Truy cập các thành phần của nhân tố trong R
Trước tiên, chúng ta hãy tạo một yếu tố “dữ liệu” như sau:
compass <- c("East","West","East","North") data <- factor(compass) data
Có nhiều cách khác nhau để truy cập các phần tử của một thừa số trong R. Một số cách như sau:
> data[4] #Accessing the 4th element > data[c(2,3)] #Accessing the 2nd & 3rd element > data[-1] #Accessing everything except 1st element > data[c(TRUE, FALSE, TRUE, TRUE)] #Accessing using Logical Vector
Làm thế nào để sửa đổi một yếu tố R?
Để sửa đổi một yếu tố, chúng tôi chỉ giới hạn ở các giá trị không nằm ngoài các mức được xác định trước.
print(data) data[2] <- "North" #Modifying 2nd element data[3] <- "South" #Cannot Modify Factor with an Element outside its scope
Trong ví dụ trên, việc sửa đổi phần tử thứ ba với “South” đã gây ra lỗi vì nó không có trong các mức được xác định trước. Để vượt qua điều này, chúng tôi sẽ phải thêm một cấp độ khác bao gồm “Nam” và sửa đổi hệ số của chúng tôi.
Xem thêm 10 lý do hữu ích để học ngôn ngữ lập trình
print(data) levels(data) <- c(levels(data), "South") data[3] <- "South" print(data)
Các hàm Factor trong R
Trong phần này, chúng ta sẽ thảo luận về một số chức năng chính có liên quan đến hệ số.
Một số chức năng này;
- is.factor ()
- as.factor ()
- is.ordered ()
- as.ordered ()
is.factor () kiểm tra xem đầu vào có ở dạng thừa số hay không và trả về giá trị Boolean (TRUE hoặc FALSE).
as.factor () nhận đầu vào (thường là một vectơ) và chuyển nó thành một thừa số.
is.ordered () kiểm tra xem yếu tố có được sắp xếp thứ tự hay không và trả về boolean TRUE hoặc FALSE.
Hàm as.ordered () nhận một hàm không có thứ tự và trả về một hệ số được sắp xếp theo thứ tự.
f_directions <- factor(directions) is.factor(f_directions) as.factor(directions) is.ordered(f_directions) as.ordered(f_directions)
Bản tóm tắt
Giờ đây, thật dễ dàng để bạn tạo và tạo các yếu tố trong R. Yếu tố là phần quan trọng của Cấu trúc dữ liệu. Để thành thạo ngôn ngữ R, bạn cần có đầy đủ các yếu tố.