Сравните фактор и строку в R - PullRequest
       0

Сравните фактор и строку в R

0 голосов
/ 21 сентября 2018

Я продолжаю сталкиваться с этой проблемой, у меня есть набор данных, такой как:

'data.frame':   5362 obs. of  5 variables:
  $ productname: Factor w/ 160 levels "Accent Mugs",..: 
  $ othervar: something else

Я хочу отфильтровать по тому, что productname:

out_ds <- data %>% 
  filter(isTRUE(all.equal(productname, "Woven Blankets")))

Это неРабота.Как проверить равенство между меткой фактора и строковым значением?

1 Ответ

0 голосов
/ 21 сентября 2018

all.equal в вашем операторе filter сравнивает factor productname с string "Woven Blankets", поэтому он не вернет TRUE, но вернет описание различий междудва аргумента см. в документации R для all.equal.

Используя набор данных iris, вы можете увидеть это при запуске:

all.equal(iris$Species, "versicolor")

> "'current' is not a factor"

@ AntoniosKпредложение в комментарии должно работать для вашего data.frame, так как функция filter в пакете dplyr легко работает с factor объектами.

out_ds <- data %>% 
    filter(productname == "Woven Blankets")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...