将数据帧中的每一列转换为R中的因子

问题描述 投票:0回答:1

我有一个包含4个不同列的数据框:两列是数字,每列都有自己的3个连续数值,另两列是字符,也有自己的3个变量。所有四列都有3个级别。

我正在尝试将所有列都转换为因子,并使用data.matrix函数将所有变量转换为数字形式。但是,只有两个带有字符的列变成了因子并成功转换为数字形式,并且两个数字形式保持不变。如何将所有列转换为因数并将其转换为数字形式,而不是逐列进行?

这就是我想要的

 price privacy battery stars
1      2       3       1     1
2      3       1       2     2
3      1       2       3     3
4      1       2       2     1
5      2       3       3     2
6      3       1       1     3
7      3       1       3     1
8      1       2       1     2
9      2       3       2     3
10     1       1       1     2
11     2       2       2     3
12     3       3       3     1
13     3       3       2     2
14     1       1       3     3
15     2       2       1     1
16     2       2       3     2
17     3       3       1     3
18     1       1       2     1
19     3       2       1     3
20     1       3       2     1
21     2       1       3     2
22     2       1       2     3
23     3       2       3     1
24     1       3       1     2
25     1       3       3     3
26     2       1       1     1
27     3       2       2     2
r
1个回答
0
投票

使用mtcars数据集:

library(dplyr)
mtcars %>% mutate_all(., as.factor) %>% glimpse

或基数R

data.frame(lapply(mtcars, as.factor))
© www.soinside.com 2019 - 2024. All rights reserved.