如何在R語言中將所有列的資料型別從整數轉換為因子?
要將所有列的資料型別從整數轉換為因子,我們可以使用帶有因子函式的lapply函式。
例如,如果我們有一個名為df的資料框,其中包含所有整數列,那麼我們可以使用以下命令將所有列的資料型別轉換為因子:
df<-data.frame(lapply(df,factor))
示例1
以下程式碼片段建立了一個示例資料框:
x1<-rpois(20,1) x2<-rpois(20,2) df1<-data.frame(x1,x2) df1
建立了以下資料框:
x1 x2 1 1 4 2 3 0 3 0 1 4 1 1 5 1 2 6 1 1 7 1 2 8 3 2 9 2 3 10 3 5 11 1 4 12 0 1 13 2 0 14 2 2 15 0 1 16 3 0 17 0 2 18 0 3 19 1 1 20 0 3
要將所有列的資料型別從整數轉換為因子,請將以下程式碼新增到上面的程式碼片段中:
x1<-rpois(20,1) x2<-rpois(20,2) df1<-data.frame(x1,x2) str(df1)
輸出
如果您將以上所有程式碼片段作為一個程式執行,它將生成以下輸出:
'data.frame': 20 obs. of 2 variables: $ x1: int 1 3 0 1 1 1 1 3 2 3 ... $ x2: int 4 0 1 1 2 1 2 2 3 5 ...
要將df1中列的資料型別轉換為因子,請將以下程式碼新增到上面的程式碼片段中:
x1<-rpois(20,1) x2<-rpois(20,2) df1<-data.frame(x1,x2) df1<-data.frame(lapply(df1,factor)) str(df1)
輸出
如果您將以上所有程式碼片段作為一個程式執行,它將生成以下輸出:
'data.frame': 20 obs. of 2 variables: $ x1: Factor w/ 4 levels "0","1","2","3": 2 4 1 2 2 2 2 4 3 4 ... $ x2: Factor w/ 6 levels "0","1","2","3",..: 5 1 2 2 3 2 3 3 4 6 ...
示例2
以下程式碼片段建立了一個示例資料框:
y1<-sample(0:1,20,replace=TRUE) y2<-sample(1:4,20,replace=TRUE) df2<-data.frame(y1,y2) df2
建立了以下資料框:
y1 y2 1 0 2 2 1 3 3 0 2 4 0 2 5 1 3 6 0 3 7 0 2 8 1 3 9 0 4 10 0 1 11 0 4 12 0 4 13 0 1 14 1 2 15 0 1 16 0 1 17 1 4 18 1 2 19 1 3 20 1 2
要將所有列的資料型別從整數轉換為因子,請將以下程式碼新增到上面的程式碼片段中:
y1<-sample(0:1,20,replace=TRUE) y2<-sample(1:4,20,replace=TRUE) df2<-data.frame(y1,y2) str(df2)
輸出
如果您將以上所有程式碼片段作為一個程式執行,它將生成以下輸出:
'data.frame': 20 obs. of 2 variables: $ y1: int 0 1 0 0 1 0 0 1 0 0 ... $ y2: int 2 3 2 2 3 3 2 3 4 1 ...
要將df2中列的資料型別轉換為因子,請將以下程式碼新增到上面的程式碼片段中:
y1<-sample(0:1,20,replace=TRUE) y2<-sample(1:4,20,replace=TRUE) df2<-data.frame(y1,y2) df2<-data.frame(lapply(df2,factor)) str(df2)
輸出
如果您將以上所有程式碼片段作為一個程式執行,它將生成以下輸出:
'data.frame': 20 obs. of 2 variables: $ y1: Factor w/ 2 levels "0","1": 1 2 1 1 2 1 1 2 1 1 ... $ y2: Factor w/ 4 levels "1","2","3","4": 2 3 2 2 3 3 2 3 4 1 ...
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP