讲师中心 微信公众号
AI工具推荐 视频效率加速

R 教程

浏览6247
更新时间2025-08-13

因子

因子用于对数据进行分类。以下是一些因子的例子:

  • 人口统计:男/女
  • 音乐:摇滚、流行、古典、爵士
  • 训练:力量、耐力

要创建一个因子,请使用 factor() 函数并将向量作为参数添加:

实例

# 创建因子
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

# 打印因子
music_genre

结果:

[1] Jazz    Rock    Classic Classic Pop     Jazz    Rock    Jazz
Levels: Classic Jazz Pop Rock

从上面的例子可以看出,该因子有四个级别(类别):Classic、Jazz、Pop 和 Rock。

要仅打印级别,请使用 levels() 函数:

实例

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

levels(music_genre)

结果:

[1] "Classic" "Jazz"    "Pop"     "Rock"   

您也可以通过在 factor() 函数中添加 levels 参数来设置级别:

实例

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))

levels(music_genre)

结果:

[1] "Classic" "Jazz"    "Pop"     "Rock"    "Other"

因子长度

使用 length() 函数找出因子中有多少项:

实例

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

length(music_genre)

结果:

[1] 8

访问因子

要访问因子中的项,请使用 [] 括号引用索引号:

实例

访问第三项:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3]

结果:

[1] Classic
Levels: Classic Jazz Pop Rock

更改项目值

要更改特定项的值,请引用索引号:

实例

更改第三项的值:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Pop"

music_genre[3]

结果:

[1] Pop
Levels: Classic Jazz Pop Rock

请注意,如果尚未在因子中指定特定项目的值,则无法更改该值。以下示例将产生错误:

实例

尝试将第三个项目("Classic")的值更改为不存在/未预定义的项目("Opera"):

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Opera"

music_genre[3]

结果:

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = "Opera") :
  invalid factor level, NA generated

但是,如果您已经在 levels 参数中指定了它,它将起作用:

实例

更改第三项的值:

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Opera"))

music_genre[3] <- "Opera"

music_genre[3]

结果:

[1] Opera
Levels: Classic Jazz Pop Rock Opera

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 65.3万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 41.5万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 77.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn