Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从lm中提取公式,包括分类变量(R)_R_Formula_Lm_Categorical Data - Fatal编程技术网

从lm中提取公式,包括分类变量(R)

从lm中提取公式,包括分类变量(R),r,formula,lm,categorical-data,R,Formula,Lm,Categorical Data,我有一个lm对象,想得到用系数提取的公式。该对象包括分类变量(如月份),以及与这些分类变量和数字变量的交互 另一个用户帮助编写了一些代码,这些代码适用于除分类变量以外的所有变量,但是当我添加一个分类变量(例如这里的d)时,它会出现故障,并给出错误“解析时出错(text=x)::1:785:意外的数值常量”: 我从上面得到的是“解析中的错误(text=x)::1:53:意外符号 1:y~-7+14.23*b+-6.82*c+-529.30*因子(d)8月 当我想得到完整的公式时,每个月乘以一个系数

我有一个lm对象,想得到用系数提取的公式。该对象包括分类变量(如月份),以及与这些分类变量和数字变量的交互

另一个用户帮助编写了一些代码,这些代码适用于除分类变量以外的所有变量,但是当我添加一个分类变量(例如这里的d)时,它会出现故障,并给出错误“解析时出错(text=x)::1:785:意外的数值常量”:

我从上面得到的是“解析中的错误(text=x)::1:53:意外符号 1:y~-7+14.23*b+-6.82*c+-529.30*因子(d)8月

当我想得到完整的公式时,每个月乘以一个系数(或者在本例中只有3个月,在我的实际数据集中,我有更多的数据,所有月份至少发生8次)。但它在这里暂停,在本例中是“意外符号”,在我的实际数据中是“解析错误(text=x)”::1:785:意外的数字常量”,甚至没有尝试像这里这样做一个月(不确定示例代码和实际代码之间的差异)


我的公式相当大,因此需要能够放大(当前代码就是这样做的)。

在您的模型中,您有5个解释变量,只有3个数据点。请参阅
摘要(模型)

您正在创建的
公式在
R
中无效,因此不要尝试将
sprintf
的结果强制为公式

因此

sprintf(' y ~ %.2f + %s', coef(model)[1], 
   paste(sprintf('(%.2f) * %s',
          coef(model)[-1], names(coef(model)[-1]) ), collapse ='+'))

啊,在这个例子中,我简化了它,但为了解决这个问题,我加入了更多的数据。仍然得到了错误,为什么你要强迫它成为一个公式对象?sprintf的结果给你一个字符串,表示你想要的,但它不是一个有效的R公式(因此出现了错误消息).噢,去掉它会让它工作得很好。我这么做是因为我不知道它不会像这样工作。如果你把这个作为答案发布,我会把它标记为接受。谢谢!
sprintf(' y ~ %.2f + %s', coef(model)[1], 
   paste(sprintf('(%.2f) * %s',
          coef(model)[-1], names(coef(model)[-1]) ), collapse ='+'))