R- factor因子

本文介绍了R语言中因子变量的基础概念及应用方法,包括如何创建因子变量、修改因子级别、进行汇总统计等操作,并展示了有序因子的创建及比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因子(factor)
类别属性,只有有限数量的值。

The term factor refers to a statistical data type used to store categorical variables. The difference between a categorical variable and a continuous variable is that a categorical variable can belong to a limited number of categories.
# Sex vector
sex_vector <- c("Male", "Female", "Female", "Male", "Male")

# Convert sex_vector to a factor
factor_sex_vector <- factor(sex_vector)

# Print out factor_sex_vector
factor_sex_vector

改变factor的值:
# Code to build factor_survey_vector
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)

# Specify the levels of factor_survey_vector
levels(factor_survey_vector) <- c("Female", "Male")

注意:要按factor的顺序。
levels(factor_survey_vector)查看。

汇总信息查看:
# Build factor_survey_vector with clean levels
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)
levels(factor_survey_vector) <- c("Female", "Male")
factor_survey_vector

# Generate summary for survey_vector
summary(survey_vector)

# Generate summary for factor_survey_vector
summary(factor_survey_vector)
结果
> summary(survey_vector)
   Length     Class      Mode 
        5 character character

> summary(factor_survey_vector)
Female   Male 
     2      3

注:普通factor不可比较。
R returns NA when you try to compare values in a factor, since the idea doesn't make sense.

有序的factor,vector元素可比较。
# Create speed_vector
speed_vector <- c("medium", "slow", "slow", "medium", "fast")

# Convert speed_vector to ordered factor vector
factor_speed_vector <- factor(speed_vector, ordered = TRUE, levels = c("slow", "medium", "fast"))
结果:
> factor_speed_vector
[1] medium slow   slow   medium fast  
Levels: slow < medium < fast

> summary(factor_speed_vector)
  slow medium   fast 
     2      2      1

比较元素:

> flg <- factor_speed_vector[1] > factor_speed_vector[2]
> flg
[1] TRUE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值