我有一些模型对象的模型输出,R中的coefplot不支持。我试图在一个系数图中绘制多个模型的结果。如果我放入一个系数向量和一个标准误差向量,我可以在一个模型中完成这一操作。但是,如果我放入一个向量列表来绘制多个模型。
可重现示例:
coefs_1 <- c(1, 2, 3)
coefs_2 <- c(4, 5, 6)
ses_1 <- c(0.5, 0.3, 0.6)
ses_2 <- c(0.7, 0.4, 0.5)
coefplot(coefs_1, sd = ses_1)
有用,但是
coefplot(list(coefs_1, coefs_2), sd = list(ses_1, ses_2))
抛出错误。错误为:
Error in coefplot_prms(object = object, ..., sd = sd, ci_low = ci_low, :
The first element of 'object' raises and error:
Error in nb * sd : non-numeric argument to binary operator
我尝试使用不同的方法将系数和ses输入到函数中,但也得到了相同误差的变化,我觉得我错过了这个函数如何工作和处理输入的一些关键部分。
1条答案
按热度按时间dzhpxtsq1#
澄清一下,您提到的函数
coefplot
来自库fixest
。简短的回答是:
长长的回答:
看起来这个函数除了拟合模型对象之外,还可以将矩阵作为其输入,这看起来像
coeftable(object)
的输出。这里的对象将是拟合模型(您可以尝试使用lm()
)。该输出是一个矩阵,其中前两行是估计值和标准误差,后两行是此处未使用的任何其他内容(对于
lm()
,是t值和p值)。现在,与对象列表类似,函数也可以获取这些矩阵的列表,因此可以使用上面所示的代码。