我试图使用statsmodel中的线性混合效应模型。我收到一条错误消息:
Error interpreting categorical data: all items must be hashable
fc ~ group * session
^^
其中“fc”是我的数据帧中的一列,它包含一个1D数组(1x2346)。 数据框看起来像:
subj group session fc
0 0 1 1 [0.2922897321426426, 0.8889104138397078, 0.716...
1 0 1 2 [0.2900923963035335, 0.8475482137619675, 0.713...
2 1 1 1 [0.5929015237174594, 0.24248656443213046, 0.26...
3 1 1 2 [0.20802496215095026, 0.9411248464107547, 0.93...
代码:
my_model_fit = smf.mixedlm("fc ~ group * session", df, groups=df["subj"]).fit()
my_model_fit.random_effects
my_model_fit.summary()
我将感谢任何帮助:)
您需要知道,列表是不可散列的,因为它们是可变的。您可以使用元组而不是列表,这样就可以了。但我怀疑,无论如何使用category作为数据类型是一个好主意,因为向量很可能不会重复(两行中几乎没有完全相同的向量),因此category在这里没有多大意义
简而言之,检查“数组”是否真的重复,以便几行使用相同的数组值。如果不是这样,则使用常规对象列而不是类别。那么,如果将它们存储为列表或元组,也没有多大关系。但如果它们重复几次,您可以使用category到安全空间,但接下来您应该使用元组
检查:
相关问题 更多 >
编程相关推荐