在glm r中定义目标变量

时间:2016-05-21 14:24:13

标签: r glm

我希望能够在下面的回归代码之外定义目标变量'def_target':

model1 <- glm(def_target~., family=binomial(link='logit'),data=train70)

我尝试过以下操作但弹出错误

tv1 <- 'def_target' 
model1 <- glm(tv1~., family=binomial(link='logit'),data=train70)

如果有人能帮助我那会很棒。

由于

2 个答案:

答案 0 :(得分:0)

我认为这可能会导致你在模特1中告诉它:glm(tv1~., family=binomial(link='logit'),data=train70)。 train70没有匹配的列。尝试直接分配您的变量,即

tv1 <- train70[['def_target']]

然后

model1 <- glm(tv1~., family=binomial(link='logit'))

我必须承认我不熟悉“。”你在那里。但请确保将其与原始数据集相关联,就像使用tv1一样。

答案 1 :(得分:0)

glm()要求第一个参数为“forumla”类,只是插入一个字符串(即'def_target')将无法正确解析。您需要使用as.formula()将参数转换为公式,但必须包含要使用的整个公式。这是有效的代码:

model1 <- glm(as.formula(paste(tv1," ~ .")), family=binomial(link='logit'), data=train70)