I have text variable X1
. It takes value A,B,C,D
. I need to rename category D to F. So in output i expect A,B,C,F
How can i do it? here my dataset
文本变量X1。需要值A,B,C,D。我需要将类别D重命名为F,那么在输出中,我期望A、B、C、F,我该怎么做呢?在这里我的数据集
mydat=structure(list(x1 = structure(1:4, .Label = c("a", "b", "c",
"d"), class = "factor"), x2 = c(1L, 1L, 1L, 1L), x3 = c(2L, 2L,
2L, 2L)), .Names = c("x1", "x2", "x3"), class = "data.frame", row.names = c(NA,
-4L))
1 个解决方案
#1
3
Convert it to characters, use simple subsetting and convert it back to a factor (optional):
将其转换为字符,使用简单的子设置并将其转换为因子(可选):
mydat$x1 <- as.character(mydat$x1)
mydat$x1[mydat$x1 == 'd'] <- 'f'
# optional
mydat$x1 <- as.factor(mydat$x1)
Or - as you were looking for a dplyr
solution:
或者——当你在寻找dplyr解决方案时:
library(dplyr)
mydat %>%
mutate(x1 = as.character(x1),
x1 = if_else(x1 == 'd', 'f', x1),
x1 = as.factor(x1))
Both will yield
都将产生
x1 x2 x3
1 a 1 2
2 b 1 2
3 c 1 2
4 f 1 2
#1
3
Convert it to characters, use simple subsetting and convert it back to a factor (optional):
将其转换为字符,使用简单的子设置并将其转换为因子(可选):
mydat$x1 <- as.character(mydat$x1)
mydat$x1[mydat$x1 == 'd'] <- 'f'
# optional
mydat$x1 <- as.factor(mydat$x1)
Or - as you were looking for a dplyr
solution:
或者——当你在寻找dplyr解决方案时:
library(dplyr)
mydat %>%
mutate(x1 = as.character(x1),
x1 = if_else(x1 == 'd', 'f', x1),
x1 = as.factor(x1))
Both will yield
都将产生
x1 x2 x3
1 a 1 2
2 b 1 2
3 c 1 2
4 f 1 2