如何将所有列的数据类型从整数转换为 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 x21 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 y21 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 ...
以上是 如何将所有列的数据类型从整数转换为 R 中的因子? 的全部内容, 来源链接: utcz.com/z/338655.html