我的数据具有非常混乱的因子级别名称,有时超过一个句子的长度。出于这个原因,我更愿意通过数字来引用级别来重命名它们(而不是通常的因子级别名称)。对于下面的示例数据,我如何重命名因子级别(假设为"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)