Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 尝试创建带有标签的因子变量时收到以下错误消息:错误为unique。默认值(x,nmax=nmax):unique()仅适用于向量_R_Dplyr - Fatal编程技术网

R 尝试创建带有标签的因子变量时收到以下错误消息:错误为unique。默认值(x,nmax=nmax):unique()仅适用于向量

R 尝试创建带有标签的因子变量时收到以下错误消息:错误为unique。默认值(x,nmax=nmax):unique()仅适用于向量,r,dplyr,R,Dplyr,我试图创建一个新的变量,重新编码,把它变成一个带有新标签的因子变量。重新编码的第一部分正常,但当我尝试转换为因子变量时,它会给我以下消息:Error in unique.default(x,nmax=nmax):unique()仅适用于向量 mutate(locale = case_when (V4024 %in% c("R/hme-own dwell", "R/hme-det bldg"

我试图创建一个新的变量,重新编码,把它变成一个带有新标签的因子变量。重新编码的第一部分正常,但当我尝试转换为因子变量时,它会给我以下消息:Error in unique.default(x,nmax=nmax):unique()仅适用于向量

mutate(locale = case_when (V4024 %in% c("R/hme-own dwell",
                                  "R/hme-det bldg","R/home-vac/2nd", 
                                        "R/hme-htl/mtl") ~ 1,
         
          V4024 %in% c("N/hme-own yrd", "N/hme apt hall",
                                           "N/hme-on street") ~ 2,
                          V4024 %in% c("Frn/hme-yard etc","Frn/hme-on str",
                                       "Frn/hme-at hme", "Frn/hme-apt hall"
                                           ) ~ 3,
                              V4024 %in% c("Comm-rest/bar","Other comm bld",
                                           "Gas station", "Office", "Bank",
                                           "Factory/warehouse") ~ 4,
                                V4024 %in% c("Park-apt etc",
                                             "Park-parking etc") ~ 5,
                                 V4024 %in% c("Schl-school bldg", 
                                              "Schl-school prop") ~ 6,
                                V4024 %in% c("Park-noncomm","Open-on street",
                                             "Open-pub transp",
                                             "Open-apt yd etc") ~ 7,
                                  V4024 %in% c("Other-other") ~ 8))
mutate (locale = as.factor(locale)) %>%
  mutate(locale = fct_recode(as.factor(locale), 
                             "Victim's Home" = "1", "Near Victim's Home" = "2", 
                             "At or Near friends/acq" = "3",
                             "Commercial Place" = "4",
                             "Parking lot/Garage" = "5",
                             "School" = "6", "Open Areas/Public Transport" = "7",
                             "Other" = "8"))

不太清楚为什么会发生错误,但我认为您要实现所需的输出需要走很长的路。当直接时,为什么不在案例中指定相关的fct\u记录输出

library(dplyr)

mutate(locale = factor(case_when (V4024 %in% c("R/hme-own dwell",
                                        "R/hme-det bldg","R/home-vac/2nd", 
                                        "R/hme-htl/mtl") ~ "Victim's Home",
                           
                           V4024 %in% c("N/hme-own yrd", "N/hme apt hall",
                                  "N/hme-on street") ~ "Near Victim's Home",
                           V4024 %in% c("Frn/hme-yard etc","Frn/hme-on str",
                                        "Frn/hme-at hme", "Frn/hme-apt hall"
                           ) ~ "At or Near friends/acq",
                           V4024 %in% c("Comm-rest/bar","Other comm bld",
                                        "Gas station", "Office", "Bank",
                                   "Factory/warehouse") ~ "Commercial Place",
                           V4024 %in% c("Park-apt etc",
                               "Park-parking etc") ~ "Parking lot/Garage",
                           V4024 %in% c("Schl-school bldg", 
                                        "Schl-school prop") ~ "School",
                           V4024 %in% c("Park-noncomm","Open-on street",
                                       "Open-pub transp",
                            "Open-apt yd etc") ~ "Open Areas/Public Transport",
                           V4024 %in% c("Other-other") ~ "Other")))

谢谢Ronak!我是新来的!如何组合case\u when和fct\u recode?我必须先做as.factor吗?@MariTereMolinet您不需要
fct\u recode
。如果您想将
locale
转换为
factor
,您可以在
case\u之外的
情况下进行转换。请参阅更新的答案。