R中带有case_w的重命名因子级别

问题描述 投票:0回答:1

我正在尝试从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的包含或开头的函数来解决此问题吗?

rename case-when factors levels recode
1个回答
0
投票

所以,在处,我将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"

))

© www.soinside.com 2019 - 2024. All rights reserved.