在不引用因子名称的情况下重命名因子水平
Renaming factor levels without referring to the factor name
我有一些因子水平名称非常混乱的数据,有时超过一句话。出于这个原因,我更愿意通过数字来引用级别以重命名它们(而不是通常的因子级别名称)。对于下面的示例数据,我如何重命名因子级别(假设为“G”、“S1”和“S2”),而不提及“砾石”、“砂岩”或“粉砂岩”?
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)
我有一些因子水平名称非常混乱的数据,有时超过一句话。出于这个原因,我更愿意通过数字来引用级别以重命名它们(而不是通常的因子级别名称)。对于下面的示例数据,我如何重命名因子级别(假设为“G”、“S1”和“S2”),而不提及“砾石”、“砂岩”或“粉砂岩”?
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)