【问题标题】:Conjoint analysis levels error - incorrect number of subscripts on matrix?联合分析水平错误 - 矩阵上的下标数量不正确?
【发布时间】:2020-03-04 17:48:25
【问题描述】:

我正在使用联合分析处理一个家庭作业案例,并遇到如下错误:

Error in X[k, j] <- x[i, j] : incorrect number of subscripts on matrix

我已尝试查找错误,但找不到与联合分析相关的任何内容。我已经将我的数据与其他预加载且不会导致错误的数据集(茶、冰)进行了比较,它似乎是相同的格式,只是数据不同。

library(conjoint)

     **load in data**
caModel(y=conjointrating[1,],x=profiles)

这行代码(caModel)运行良好

caUtilities(y=conjointrating[1,],x=profiles,z=levels) 

这是我遇到错误的地方。它似乎来自添加z=levels。 Conjoint 包中的其他函数给出了相同的错误。不需要 z (levels) 作为输入的函数不会报错。

"conjointrating" 给出 16 个变量的 40 个观察值,代表对 16 个产品配置文件的响应。

"profiles" 给出 5 个变量的 16 个观察值,代表 16 个不同的产品配置文件。

"levels" 是 1 个变量的 15 个观测值,其中一部分如下:

sm_suite
lg_rm
rm_off
internet
phone

我收到以下错误:

Error in X[k, j] <- x[i, j] : incorrect number of subscripts on matrix

我希望以矩阵格式获得部分实用程序,其中列代表不同级别。

【问题讨论】:

  • 我的猜测是级别数与profilesconjointrating 数据帧中的级别数不匹配。
  • 我认为可能是这种情况,但我不知道为什么。我有五个变量: 房间 - 3 个级别 Bus.Amenities - 3 个级别 Leisure - 3 个级别 Extras - 4 个级别 Rest.Delivery - 2 个级别总共加起来 15 个级别。在“配置文件”中,它们根据级别数被编码为 1-3、1-4 或 1-2,因为茶数据集就是这样。它们是“级别”中的级别列表,其中包含 15 个观察值。联合数据框与配置文件数据框有关,我不确定关卡将如何发挥作用。有没有这方面的问题?
  • 我注意到在他们的数据示例中,像clevntlevn 这样的级别数据框由一个带有因子变量的数据框组成。 levels 数据框中的变量类型是什么?

标签: r matrix utilities


【解决方案1】:

我的联合分析遇到了同样的问题。像 Phil 一样,我注意到预加载的数据集都是数据帧。所以我只是将我的数据文件转换为 data.frame,它现在可以工作了。你的情况

profiles <- data.frame(profiles)
levels <- data.frame(levels)

应该这样做。

【讨论】:

    猜你喜欢
    • 2021-01-05
    • 2017-02-20
    • 2020-03-05
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 2016-04-27
    • 2021-11-07
    • 1970-01-01
    相关资源
    最近更新 更多