переименовать категорию переменной в R - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть текстовая переменная 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 Ответ

0 голосов
/ 26 апреля 2018

Преобразовать его в символы, использовать простое подмножество и преобразовать его обратно в коэффициент (необязательно):

mydat$x1 <- as.character(mydat$x1)
mydat$x1[mydat$x1 == 'd'] <- 'f'
# optional
mydat$x1 <- as.factor(mydat$x1)

Или - поскольку вы искали решение dplyr:

library(dplyr)
mydat %>%
  mutate(x1 = as.character(x1),
         x1 = if_else(x1 == 'd', 'f', x1),
         x1 = as.factor(x1))

Оба будут давать

  x1 x2 x3
1  a  1  2
2  b  1  2
3  c  1  2
4  f  1  2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...