我是R的新手,但试图将它与SQL Server R服务一起使用 .
作为R脚本的输入,我选择几个数字列和一个带有分类数据的文本列 . 让它成为“company_name” .
然后我执行:
declare @script_r nvarchar(max)
= '
dat <- InputDataSet;
model <- lm(first_commission_received_delay ~ ., data = dat);
print(coef(model));
predict(model, dat);
'
EXEC sp_execute_external_script
@language =N'R'
, @script = @script_r
, @input_data_1 = @script_txt
但我收到错误:
发生外部脚本错误:model.frame.default中的错误(条款,newdata,na.action = na.action,xlev = object $ xlevels):factor company_name具有新级别XXX调用:source ... predict - > predict .lm - > model.frame - > model.frame.default
在用“print(coef(model))”函数显示的系数列表中,没有虚拟变量“company_nameXXX”,但存在所有其他 . 据我所知,由于多重共线性,未创建虚拟变量“company_nameXXX” .
但是如何使用计算模型进行预测?即使对于同一组数据......如何修复该错误?
1 回答
我可以自己使用额外创建虚拟变量来修复该错误:
但我仍然不知道,为什么我的初始代码返回错误...