【问题标题】:Error in Multinominal regression: "NAs are not allowed in subscripted assignments"多项回归中的错误:“下标分配中不允许使用 NA”
【发布时间】:2014-05-24 14:55:21
【问题描述】:

我正在 this site 的帮助下进行多项回归。

执行时出错:

    > dses1 <- data.frame(ses = c("Cluster1", "Cluster2", "Cluster3"), GDP = mean(data.mod$GDP.z))
    > dses1
           ses         GDP
    1 Cluster1 -0.03853141
    2 Cluster2 -0.03853141
    3 Cluster3 -0.03853141

    > predict(results, newdata = dses1, "probs")  
    NAs are not allowed in subscripted assignments

我做了如下回归

    results <- multinom(data.mod$baseline~data.mod$cluster+data.mod$GDP.z+data.mod$WGI.z,data=data.mod)

数据集是这样的:

    > head(data.mod)
       cluster  type       GDP.z     WGI.z baseline
    1 Cluster3 Type1 -0.15927872 0.0750328    Type1
    2 Cluster3 Type1  0.18363900 0.1066325    Type1
    3 Cluster1 Type1  1.58636819 0.0750328    Type1
    4 Cluster3 Type1 -0.27892696 0.7034406    Type1
    5 Cluster3 Type1 -0.37910360 0.6864063    Type1
    6 Cluster2 Type1 -0.09978649 0.0750328    Type1

我已经检查了this stack,但又遇到了同样的错误。

【问题讨论】:

    标签: r regression na


    【解决方案1】:

    当您使用预测时,它需要将列名与coef(results) 显示的完全匹配。由于您不必要地在所有变量名上留下了表名前缀,这可能是导致错误的原因。试试

    results <- multinom(baseline~cluster + GDP.z + WGI.z, data=data.mod)
    

    您的newdata 似乎还缺少WGI.z(因为它在模型中,所以它必须存在)。所以你的newdata 应该是

    dses1 <- data.frame(cluster = c("Cluster1", "Cluster2", "Cluster3"), 
        GDP.z = mean(data.mod$GDP.z),
        WGI.z = mean(data.mod$WGI.z)
    )
    

    并且这些名称应该与公式中的名称匹配,因此您应该准备就绪。

    【讨论】:

    • @user2978524 如果可行,请考虑单击此答案的复选标记以接受它。这就是 StackOverflow 的工作原理。
    • 好的。谢谢。我想知道你是否知道一种可视化结果的好方法。 webpage 不能用于我的情况,因为有两个控制变量:GDP 和 WGI。
    • @user2978524 评论不是提出新问题的好地方。如果您有不同的问题,请随时开始新帖子。尽管在本网站上不赞成广泛的、基于意见的问题,例如“我如何可视化这些数据”。这应该是一个特定的编程问题。
    猜你喜欢
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多