怎么用R把年龄转为因子型20岁-29岁,30岁-39岁,40岁-49岁

有一个患者体检表,变量年龄是字符型向量。比如"30岁",怎么用R把年龄转为因子型20岁-29岁,30岁-39岁,40岁-49岁,>=50岁并分别定义为1234

参考

# 创建样本数据
age <- c("25岁", "36岁", "43岁", "55岁")

# 将年龄字符型向量转换为数值型
age <- as.numeric(gsub("岁", "", age))

# 定义切割点
breaks <- c(20, 30, 40, 50, Inf)

# 将数值型年龄划分到对应的区间
age.factor <- cut(age, breaks, labels = c("20-29岁", "30-39岁", "40-49岁", ">=50岁"))

# 将因子型转换为数值型编码,1234对应四个区间
age.code <- as.numeric(age.factor)

# 查看结果
print(age.factor)
print(age.code)