r中某因子的读数水平

  • 本文关键字:水平 r
  • 更新时间 :
  • 英文 :


我在r中读取变量有问题,我有这样的数据集:

Cloumn 1   Cloumn2
Pos           S
Pos           M
Pos           H
Pos           S
Neg           M
Neg           H 
Neg           S
Neg           M

所以第一列是2个层次的因子,第二列是3个层次的因子。当我在R中读取文件时,它将变量读取为字符,当我将第二个变量赋值为一个因子时,它会给我一个因子5个级别,但我只有三个级别,你能帮我这个吗?

你是如何生成因子的?如果它们作为字符读取,则需要将它们突变为具有as_factor()as.factor()的因子。这为第一列提供了两个级别,为第二列提供了三个级别:

library(tidyverse)
data <- tribble(~Column1,   ~Column2,
"Pos", "S",
"Pos", "M",
"Pos", "H",
"Pos", "S",
"Neg", "M",
"Neg", "H",
"Neg", "S",
"Neg", "M")

data <- data %>% 
mutate(across(.cols = everything(), forcats::as_factor))
data$Column1
[1] Pos Pos Pos Pos Neg Neg Neg Neg
Levels: Pos Neg
data$Column2
[1] S M H S M H S M
Levels: S M H

最新更新