菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

R 因子


因子

因子用于对数据进行分类。例如,因子包括:

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

要创建因子,请使用 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
自己动手试一试 »

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持