gtsummary::tbl_regression中show_single_row多变量传入报错排查
tbl_regression多变量show_single_row参数报错解决
问题重现
单个变量设置show_single_row可正常运行:
t3 = x %>% dplyr::select(meanq_dic,sug_bikur, gil, kod_min,kod_migzar_mirpaa,sug_ta, zion_sotzio,Vetek_m_t,Vetek_baaretz_g,sw_Obesity, sw_Smoking,pscore)%>% glm(meanq_dic ~ sug_bikur+kod_min+kod_migzar_mirpaa+sug_ta+zion_sotzio+Vetek_baaretz_g+Vetek_m_t+ sw_Obesity+sw_Smoking+pscore, family = binomial, .) %>% tbl_regression(exponentiate = TRUE, show_single_row=sw_Obesity )%>% add_global_p()%>% bold_labels()%>% bold_p()
尝试用list()设置多个变量时触发报错:
t4 = x %>% dplyr::select(meanq_dic,sug_bikur, gil, kod_min,kod_migzar_mirpaa,sug_ta, zion_sotzio,Vetek_m_t,Vetek_baaretz_g,sw_Obesity, sw_Smoking,pscore,late)%>% glm(meanq_dic ~sug_bikur+kod_min+kod_migzar_mirpaa+sug_ta+zion_sotzio+Vetek_baaretz_g+ Vetek_m_t+sw_Obesity+sw_Smoking+pscore+late , family = binomial, .) %>% tbl_regression(exponentiate = TRUE, show_single_row=list(sw_Obesity, sw_Smoking) )%>% add_global_p()%>% bold_labels()%>% bold_p()
错误提示:
错误:
show_single_row=参数输入有误,请从‘(Intercept)’, ‘sug_bikur’, ‘kod_min’, ‘kod_migzar_mirpaa’, ‘sug_ta’, ‘zion_sotzio’, ‘Vetek_baaretz_g’, ‘Vetek_m_t’, ‘sw_Obesity’, ‘sw_Smoking’, ‘pscore’, ‘late’中选择
错误原因
tbl_regression的show_single_row参数要求传入未加引号的变量名向量,而非list对象。用list()包裹变量名不符合参数格式校验规则,因此报错。
修正后的代码
将list()替换为c(),传入变量名向量即可:
t4 = x %>% dplyr::select(meanq_dic,sug_bikur, gil, kod_min,kod_migzar_mirpaa,sug_ta, zion_sotzio,Vetek_m_t,Vetek_baaretz_g,sw_Obesity, sw_Smoking,pscore,late)%>% glm(meanq_dic ~sug_bikur+kod_min+kod_migzar_mirpaa+sug_ta+zion_sotzio+Vetek_baaretz_g+ Vetek_m_t+sw_Obesity+sw_Smoking+pscore+late , family = binomial, .) %>% tbl_regression(exponentiate = TRUE, show_single_row=c(sw_Obesity, sw_Smoking)) %>% add_global_p()%>% bold_labels()%>% bold_p()
内容的提问来源于stack exchange,提问作者Talish Razi Benita
相关产品推荐
相关产品推荐

