R的数据类型与相应运算
(学习资料参考北京大学李东风老师《R语言教程》)
10 R因子类型
10.1 因子
R中用因子代表数据中分类变量, 如性别、省份、职业。 有序因子代表有序量度,如打分结果,疾病严重程度等。
用 factor()
函数把字符型向量转换成因子,如:
x <- c("男", "女", "男", "男", "女")
sex <- factor(x)
sex
下面看一下sex的属性:
attributes(sex)
因子有class属性,取值为"factor", 还有一个levels(水平值)属性, 此属性可以用 levels()
函数访问,如:
levels(sex)
因子的levels属性可以看成是一个映射, 把整数值1,2,映射成这些水平值, 因子在保存时会保存成整数值1,2,等与水平值对应的编号。 这样可以节省存储空间, 在建模计算的程序中也比较有利于进行数学运算。
用 as.numeric()
可以把因子转换为纯粹的整数值,如:
as.numeric(sex)
将性别用数字代表:
用 as.character()
可以把因子转换成原来的字符型,如:
as.character