【问题标题】:Error in eigen(Sigma, symmetric = TRUE) : infinite or missing values in 'x' with zelig logistic regression特征误差(Sigma,对称 = TRUE):使用 zelig 逻辑回归的“x”中的值无限或缺失
【发布时间】:2018-08-22 18:10:25
【问题描述】:

所以我正在尝试进行倾向得分匹配,然后利用 Zelig 对匹配的数据执行逻辑回归。

以下是我的数据的示例: DATA

因此,我尝试根据痴呆症、中风和年龄来匹配患者。然后,我试图查看药物 X 是否与患者匹配后跌倒风险增加有关。然后,我想对药物 Y 和药物 Z 进行相同的过程,以查看每种药物是否有关联。

这是我目前用来执行匹配和逻辑回归分析的代码:

data <- read_csv("Desktop/data.csv")
View(data)
attach(data)
data[1:10,]

m.out = matchit(Fall ~ Dementia + Stroke + Age, method = "exact", data = data)

m.data = match.data(m.out)
library(Zelig)
z.out = zelig(Fall ~ Drug X + Dementia + Stroke + Age, model = "logit", data = m.data)

x.out0 <- setx(z.out, Drug X = 0)
x1.out0 <- setx(z.out, Drug X = 1)

s.out0 <- sim(z.out, x = x.out0, x1 = x1.out0)

在最后一行之前,一切似乎都很顺利。这是我不断收到的错误消息。

Error in eigen(Sigma, symmetric = TRUE) : 
  infinite or missing values in 'x'

任何想法我做错了什么?我已经被困在这里一段时间了,决定寻求帮助。

提前致谢。

【问题讨论】:

    标签: r logistic-regression r-zelig


    【解决方案1】:

    目前,Zelig 已经有几年没有更新了,并且似乎存在一些未解决的错误。一个问题是 sim 命令似乎对变量名和数据类型非常敏感。对于遇到此错误的任何人,请尝试以下操作:

    • 变量Drug X 有一个Zelig 可能无法处理的空间。尝试将其重命名为 Drug_X

    • 如果有一个变量由于共线性而从回归模型中删除,则需要在转到sim()之前将其完全从模型中删除

    • 在运行模型之前,还要检查任何字符变量是否已转换为因子,否则您可能会收到以下错误:

      对比错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      • 2016-12-27
      • 2016-05-15
      • 2016-05-17
      • 2021-06-10
      相关资源
      最近更新 更多