基于包含带有tidyverse的类别的其他两列创建新变量

基于包含带有tidyverse的类别的其他两列创建新变量,r,dplyr,R,Dplyr,我试图操纵数据,并希望基于两列创建新变量,这两列都具有分类级别。我尝试用tidyverse通过3种方式实现这一点(需要坚持使用此库) 这就是我尝试过的 data_indices <- df_subs %>% mutate(ifelse(sex == "Female" & patient.class == "Not_Admitted", "female_not_admitted", ifelse(sex == "Female" & patien

我试图操纵数据,并希望基于两列创建新变量,这两列都具有分类级别。我尝试用tidyverse通过3种方式实现这一点(需要坚持使用此库)

这就是我尝试过的

data_indices <- df_subs %>%
   mutate(ifelse(sex == "Female" & patient.class == "Not_Admitted", "female_not_admitted",
          ifelse(sex == "Female" & patient.class == "ORDINARY ADMISSION", "female_admitted",
          ifelse(sex == "Male" & patient.class == "Not_Admitted", "male_not_admitted",
          ifelse(sex == "Male" & patient.class == "ORDINARY ADMISSION",  "male_admitted")))))
其次,我在tidyverse中也尝试了unite功能,但没有成功

最后,第三,我在同一个库中搜索并找到了组索引。这就是我所做的,但失败得很惨


有人能帮忙吗

有点难以理解您需要这些函数做什么。但这里有一个猜测:)

df_subs%
变异(性别\患者\类别=病例\当(
性别==“女性”和患者类别==“未入院”~“女性未入院”,
性别==“女性”和患者等级==“普通入院”~“女性入院”,
性别==“男性”和患者类别==“未入院”~“男性未入院”,
性别==“男性”和患者类别==“普通入院”~“男性入院”
))
#问题2
df_潜艇%>%
unite(sex\u patient\u class,sex,patient.class,sep=“”)
#问题3
df_潜艇%>%
突变(组指数=组指数(、患者类别、性别))

@Charlicito-我需要从这两个专栏中得到一个专栏,gender和patient.class-并尝试了我给出的三个例子。现在更清楚了吗?@Charlicito——我需要从这两个栏目中得到一个专栏,性别和耐心。class——并尝试了我给出的所有三个例子。现在清楚了吗?都试过了,效果很好。谢谢
Error in mutate_impl(.data, dots) : 
Evaluation error: argument "no" is missing, with no default.
data_indices <- ds_sum_age_sex %>%
  bind_cols(Group_indic = group_indices("patient.class", "sex"))
 Error in UseMethod("group_indices_") : 
 no applicable method for 'group_indices_' applied to an object of class 
 "character"
df_subs <- data.frame(sex = c("Male", 
                              "Female", 
                              "Female"),
                      patient.class = c("Not_Admitted", 
                                        "ORDINARY ADMISSION", 
                                        "ORDINARY ADMISSION"))

# Question 1
df_subs %>% 
  mutate(sex_patient_class = case_when(
    sex == "Female" & patient.class == "Not_Admitted"          ~ "female_not_admitted",
    sex == "Female" & patient.class == "ORDINARY ADMISSION"    ~ "female_admitted",
    sex == "Male"   & patient.class == "Not_Admitted"          ~ "male_not_admitted",
    sex == "Male"   & patient.class == "ORDINARY ADMISSION"    ~ "male_admitted"
  ))

# Question 2
df_subs %>% 
  unite(sex_patient_class, sex, patient.class, sep = "_")

# Question 3
df_subs %>% 
  mutate(group_indices = group_indices(., patient.class, sex))