如何在 r 中通过 continue 创建分类变量
您可以使用 R 中的cut()函数从连续变量创建分类变量。
该函数使用以下基本语法:
df$cat_variable <- cut(df$continuous_variable, breaks=c(5, 10, 15, 20, 25), labels=c(' A ', ' B ', ' C ', ' D '))
请注意, breaks指定连续变量除以的值, labels指定赋予新分类变量值的标签。
以下示例展示了如何在实践中使用此语法。
示例:从 R 中的连续体创建分类变量
假设我们在 R 中有以下数据框:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
points=c(78, 82, 86, 94, 99, 104, 109, 110))
#view data frame
df
team points
1 To 78
2 B 82
3 C 86
4 D 94
5 E 99
6 F 104
7 G 109
8:11 a.m.
目前,点是连续变量。
我们可以使用cut()函数将其切割为分类变量:
#add new column that cuts 'points' into categories
df$cat <- cut(df$points,
breaks=c(70, 80, 90, 100, 110),
labels=c('Bad', 'OK', 'Good', 'Great'))
#view updated data frame
df
team points cat
1 To 78 Bad
2 B 82 OK
3 C 86 OK
4 D 94 Good
5 E 99 Good
6 F 104 Great
7 G 109 Great
8:110 Great
我们创建了一个名为cat的新分类变量,它根据数据框中的每个团队的得分将其排名为“Bad”(差)、“OK”(好)、“Good”(好)或“Excellent”(优秀)。
我们可以使用class()函数来检查这个新变量的类:
#check class of 'cat' column
class(df$cat)
[1] “factor”
我们看到变量cat是一个因素。
我们还可以使用table()函数来统计cat变量中每个类别的出现次数:
#count occurrences of each category in 'cat' variable
table(df$cat)
Bad OK Good Great
1 2 2 3
请注意,如果不向cut()函数提供标签参数,R 将简单地使用区间值的范围作为标签:
#add new column that cuts 'points' into categories
df$cat <- cut(df$points, breaks=c(70, 80, 90, 100, 110))
#view updated data frame
df
team points cat
1 A 78 (70.80]
2 B 82 (80.90]
3 C 86 (80.90]
4 D 94 (90,100]
5 E 99 (90,100]
6 F 104 (100,110]
7 G 109 (100,110]
8:110 (100,110]
在某些情况下,您可能更喜欢使用自定义标签。
其他资源
以下教程解释了如何在 R 中执行其他常见操作: