Переименование уровней факторов в R с помощью case_when - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь переименовать уровни в моей факторной переменной из levels(data$VAL_NETEJA), получая:

"0 = PÈSSIMA GESTIÓ"     "1"   "2"  "3"  "4"  "5"   "6"  "7"  "8"  "9"  "10 = > >> > >EXCEL·LENT GESTIÓ" "NO HO SAP"  "NO CONTESTA"   

с этим кодом

data %>%
filter(!is.na(VAL_NETEJA))%>%
transmute(VAL_NETEJA=case_when(
VAL_NETEJA == "10 = EXCEL·LENT GESTIÓ"~ "10",
VAL_NETEJA == "0 = PESSIMA GESTIÓ"~ "0",
TRUE ~ as.character(VAL_NETEJA)
))%>%

filter(!is.na(VAL_NETEJA))%>%
transmute(VAL_NETEJA=case_when(
VAL_NETEJA == "NO HO SAP"~ "NA",
VAL_NETEJA == "NO CONTESTA"~ "NA",
TRUE ~ as.character(VAL_NETEJA)
))%>%

, и это работает, кроме "0 = PESSIMA GESTIÓ"~ "0" , Я пытался попробовать это с и без акцентов, но это все еще не изменит это. Может я как-то решаю эту проблему с помощью функции, аналогичной содержащей или запускаемой для case_when?

1 Ответ

0 голосов
/ 16 января 2020

Итак, я положил 0 в качестве базы и использовал этот код:

data$neteja_levels<-data %>%
transmute(VAL_NETEJA=case_when(
VAL_NETEJA == "10 = EXCEL·LENT GESTIÓ"~ "10",
VAL_NETEJA == "1"~"1",
VAL_NETEJA == "2"~"2",
VAL_NETEJA == "3"~"3",
VAL_NETEJA == "4"~"4",
VAL_NETEJA == "5"~"5",
VAL_NETEJA == "6"~ "6",
VAL_NETEJA == "7"~ "7",
VAL_NETEJA == "8"~ "8",
VAL_NETEJA == "9"~ "9",
VAL_NETEJA == "NO HO SAP"~"NA",
VAL_NETEJA == "NO CONTESTA"~ "NA",
VAL_NETEJA == "NA"~ "NA",
TRUE ~ "0"

))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...