r语言 - 在不引用因子名称的情况下重命名因子级别



我的数据具有非常混乱的因子级别名称,有时超过一个句子的长度。出于这个原因,我更愿意通过数字来引用级别来重命名它们(而不是通常的因子级别名称)。对于下面的示例数据,我如何重命名因子级别(假设为"G", "S1")和"S2"),没有提到"砾石"砂岩"或"siltstone" ?

df <- data.frame(x = c("gravel", "sandstone", "siltstone"))

您可以使用levels<-更改。

df <- data.frame(x = c("gravel", "sandstone", "siltstone"), stringsAsFactors = TRUE)
levels(df$x) 
#[1] "gravel"    "sandstone" "siltstone"
levels(df$x) <- c('G', 'S1', 'S2')
levels(df$x) 
#[1] "G"  "S1" "S2"
df
#   x
#1  G
#2 S1
#3 S2

我们可以用labels来称呼factor

df$x <- factor(df$x, labels = c("G", "S1", "S2"))
df$x
[1] G  S1 S2
Levels: G S1 S2

数据
df <- data.frame(x = c("gravel", "sandstone", "siltstone"), stringsAsFactors = TRUE)

最新更新