如何在R中使用dplyr包将数字列转换为因数?
如果我们在R数据框中有一个数字列,并且该列中的唯一值很低,则意味着该数字列可以视为一个因子。因此,我们可以将数字列转换为因数。要使用dplyr软件包执行此操作,我们可以使用dplyr软件包的mutate_if函数。
加载dplyr软件包并将BOD数据集中的数字列(可在基数R中使用)转换为因子列-
示例
library(dplyr)输出结果str(BOD)
'data.frame': 6 obs. of 2 variables:
$ Time : num 1 2 3 4 5 7
$ demand: num 8.3 10.3 19 16 15.6 19.8
- attr(*, "reference")= chr "A1.4, p. 270"
BOD%>%mutate_if(is.numeric,as.factor)
Time demand1 1 8.3
2 2 10.3
3 3 19
4 4 16
5 5 15.6
6 7 19.8
将甲醛数据集中的数字列(在基数R中可用)转换为因子列-
示例
str(Formaldehyde)输出结果'data.frame': 6 obs. of 2 variables:
$ carb : num 0.1 0.3 0.5 0.6 0.7 0.9
$ optden: num 0.086 0.269 0.446 0.538 0.626 0.782
Formaldehyde%>%mutate_if(is.numeric,as.factor)
carb optden1 0.1 0.086
2 0.3 0.269
3 0.5 0.446
4 0.6 0.538
5 0.7 0.626
6 0.9 0.782
将InsectSprays数据集中的数字列(在基础R中可用)转换为因子列-
示例
str(InsectSprays)输出结果'data.frame': 72 obs. of 2 variables:
$ count: num 10 7 20 14 14 12 10 23 17 20 ...
$ spray: Factor w/ 6 levels "A","B","C","D",..: 1 1 1 1 1 1 1 1 1 1 ...
InsectSprays%>%mutate_if(is.numeric,as.factor)
count spray1 10 A
2 7 A
3 20 A
4 14 A
5 14 A
6 12 A
7 10 A
8 23 A
9 17 A
10 20 A
11 14 A
12 13 A
13 11 B
14 17 B
15 21 B
16 11 B
17 16 B
18 14 B
19 17 B
20 17 B
21 19 B
22 21 B
23 7 B
24 13 B
25 0 C
26 1 C
27 7 C
28 2 C
29 3 C
30 1 C
31 2 C
32 1 C
33 3 C
34 0 C
35 1 C
36 4 C
37 3 D
38 5 D
39 12 D
40 6 D
41 4 D
42 3 D
43 5 D
44 5 D
45 5 D
46 5 D
47 2 D
48 4 D
49 3 E
50 5 E
51 3 E
52 5 E
53 3 E
54 6 E
55 1 E
56 1 E
57 3 E
58 2 E
59 6 E
60 4 E
61 11 F
62 9 F
63 15 F
64 22 F
65 15 F
66 16 F
67 13 F
68 10 F
69 26 F
70 26 F
71 24 F
72 13 F
以上是 如何在R中使用dplyr包将数字列转换为因数? 的全部内容, 来源链接: utcz.com/z/344856.html