因子用于存储不同类别的数据类型,例如人的性别有男和女两个类别,年龄来分可以有未成年人和成年人。
R 语言创建因子使用 factor() 函数,向量作为输入参数。
factor() 函数语法格式:
factor(x = character(), levels, labels = levels,
exclude = NA, ordered = is.ordered(x), nmax = NA)
参数说明:
以下实例把字符型向量转换成因子:
x <- c("男", "女", "男", "男", "女")
sex <- factor(x)
print(sex)
print(is.factor(sex))
执行以上代码输出结果为:
[1] 男 女 男 男 女
Levels: 男 女
[1] TRUE
以下实例设置因子水平为 c('男','女') :
x <- c("男", "女", "男", "男", "女",levels=c('男','女'))
sex <- factor(x)
print(sex)
print(is.factor(sex))
执行以上代码输出结果为:
levels1 levels2
男 女 男 男 女 男 女
Levels: 男 女
[1] TRUE
接下来我们使用 labels 参数为每个因子水平添加标签,labels 参数的字符顺序,要和 levels 参数的字符顺序保持一致,例如:
sex=factor(c('f','m','f','f','m'),levels=c('f','m'),labels=c('female','male'),ordered=TRUE)
print(sex)
执行以上代码输出结果为:
[1] female male female female male
Levels: female < male
我们可以使用 gl() 函数来生存因子水平,语法格式如下:
gl(n, k, length = n*k, labels = seq_len(n), ordered = FALSE)
参数说明:
v <- gl(3, 4, labels = c("google", "itzixishi","taobao"))
print(v)
执行以上代码输出结果为:
[1] google google google google itzixishi itzixishi itzixishi
[8] itzixishi taobao taobao taobao taobao
Levels: google itzixishi taobao
©2020 IT自习室京ICP备20010815号