【发布时间】:2020-11-11 22:34:30
【问题描述】:
我尝试将公式传递给 lm()。但是,当我执行以下操作时:
independend_vars <- c("PC_1_food_men","covar_prev_diab")
dependent_var <- c("PC_1_mets_men", "PC_2_mets_men", "PC_3_mets_men")
var_names <- independend_vars
formula <- as.formula(paste0(dependent_var, "~", paste0(var_names, collapse = "+")))
我收到以下错误:
Warning:
Using formula(x) is deprecated when x is a character vector of length > 1.
Consider formula(paste(x, collapse = " ")) instead.
有谁知道问题出在哪里?
【问题讨论】:
-
只试
formula() -
我们需要一个示例,因为您的代码应该可以工作,即尝试
dependent_var = "y" ; var_names = c("x1", "x2")ps 还有?reformulate...我猜您有多个因变量?即dependent_var = c("y", "z") -
检查
paste0(dependent_var, "~", paste0(var_names, collapse = "+"))并查看为什么警告消息说它的长度 > 1。 -
@Duck 不幸的是,公式()不起作用。
-
@ Rui Barradas 我在检查 paste0(dependent_var, "~", paste0(var_names, collapse = "+")): "PC_1_mets_men~PC_1_food_men+covar_prev_diab" "PC_2_mets_men~ PC_1_food_men+covar_prev_diab" "PC_3_mets_men~PC_1_food_men+covar_prev_diab"..... 但是,完整的语法与 as.formula() 会抛出错误