R factor() 函数 - 创建因子
R factor() 函数用于创建因子(分类变量)。
因子是 R 处理分类数据的核心概念,在统计建模中自动生成虚拟变量。
factor() 函数语法格式如下:
factor(x, levels, labels = levels, ordered = FALSE)
参数说明:
x 要转为因子的向量。
levels 因子的水平(可选,默认按字母序)。
labels 水平的显示标签。
ordered 是否为有序因子。
实例
# 创建基础因子
gender <- factor(c("男", "女", "男", "女", "男"))
print("性别因子:")
print(gender)
print("水平:")
print(levels(gender))
# 创建有序因子(学历)
edu <- factor(c("本科", "硕士", "本科", "博士", "本科"),
levels = c("本科", "硕士", "博士"),
ordered = TRUE)
print("学历因子:")
print(edu)
print(paste("本科 < 硕士?", edu[1] < edu[2]))
# 因子在统计中的应用
scores <- c(88, 92, 76, 85, 90)
avg_by_gender <- tapply(scores, gender, mean)
print("按性别平均分:")
print(avg_by_gender)
gender <- factor(c("男", "女", "男", "女", "男"))
print("性别因子:")
print(gender)
print("水平:")
print(levels(gender))
# 创建有序因子(学历)
edu <- factor(c("本科", "硕士", "本科", "博士", "本科"),
levels = c("本科", "硕士", "博士"),
ordered = TRUE)
print("学历因子:")
print(edu)
print(paste("本科 < 硕士?", edu[1] < edu[2]))
# 因子在统计中的应用
scores <- c(88, 92, 76, 85, 90)
avg_by_gender <- tapply(scores, gender, mean)
print("按性别平均分:")
print(avg_by_gender)
执行以上代码输出结果为:
[1] "性别因子:" [1] 男 女 男 女 男 Levels: 男 女 [1] "水平:" [1] "男" "女" [1] "学历因子:" [1] 本科 硕士 本科 博士 本科 Levels: 本科 < 硕士 < 博士 [1] "本科 < 硕士? TRUE" [1] "按性别平均分:" 男 女 88.0 88.5

R 语言实例