在 glm r 中定义目标变量
define target variable in glm r
我希望能够在下面的回归代码之外定义我的目标变量'def_target':
model1 <- glm(def_target~., family=binomial(link='logit'),data=train70)
我尝试了以下操作,但弹出错误消息
tv1 <- 'def_target'
model1 <- glm(tv1~., family=binomial(link='logit'),data=train70)
如果有人能帮助我那就太好了。
谢谢
我认为它可能会倾斜,因为您在模型 1 中告诉它:glm(tv1~., family=binomial(link='logit'),data=train70)
。 train70 没有匹配的列。尝试直接分配变量,即
tv1 <- train70[['def_target']]
然后
model1 <- glm(tv1~., family=binomial(link='logit'))
我必须承认我对“.”并不熟悉。你在那里。但请确保将其与您的原始数据集相关联,就像您对 tv1 所做的那样。
glm()
要求第一个参数是 class "forumla",简单地插入一个字符串(即 'def_target'
)将无法正确解析。您需要使用 as.formula()
将参数转换为公式,但必须包括您要使用的整个公式。这是有效的代码:
model1 <- glm(as.formula(paste(tv1," ~ .")), family=binomial(link='logit'), data=train70)
我希望能够在下面的回归代码之外定义我的目标变量'def_target':
model1 <- glm(def_target~., family=binomial(link='logit'),data=train70)
我尝试了以下操作,但弹出错误消息
tv1 <- 'def_target'
model1 <- glm(tv1~., family=binomial(link='logit'),data=train70)
如果有人能帮助我那就太好了。
谢谢
我认为它可能会倾斜,因为您在模型 1 中告诉它:glm(tv1~., family=binomial(link='logit'),data=train70)
。 train70 没有匹配的列。尝试直接分配变量,即
tv1 <- train70[['def_target']]
然后
model1 <- glm(tv1~., family=binomial(link='logit'))
我必须承认我对“.”并不熟悉。你在那里。但请确保将其与您的原始数据集相关联,就像您对 tv1 所做的那样。
glm()
要求第一个参数是 class "forumla",简单地插入一个字符串(即 'def_target'
)将无法正确解析。您需要使用 as.formula()
将参数转换为公式,但必须包括您要使用的整个公式。这是有效的代码:
model1 <- glm(as.formula(paste(tv1," ~ .")), family=binomial(link='logit'), data=train70)