Поскольку Dominance_status кодируется численно, большинство функций чтения * будут догадываться, что это числовой класс, а не фактор.
После считывания данных вы можете просто изменить класс на фактор с использованием as.factor(), чтобы заставить R обрабатывать Dominance_status как фактор.
df <- data.frame(stringsAsFactors=FALSE,
Indvid = c("a1", "a2", "a3"),
Dominance_status = c(3, 3, 4),
Attacks = c(0, 0, 0)
)
is.factor(df$Dominance_status)
#> [1] FALSE
df$Dominance_status <- as.factor(df$Dominance_status)
is.factor(df$Dominance_status)
#> [1] TRUE
Создано в 2019-02-20 пакетом представлений (v0.2.0).
В качестве альтернативы, вы можете использовать colClasses, чтобы указать, что Dominance_status является фактором, когда вы читаете данные в первую очередь.Вот как вы могли бы сделать это, используя read.csv:
read.csv(filename, colClasses = c(Dominance_status = "factor"))