我尝试在 SQL Server 中运行 R 代码,但它不会运行,尽管它运行或 R。如何让 R 在 SQL Server 上正常运行,以便它找到包 psych?我在https://learn.microsoft.com/en-us/sql/advanced-analytics/tutorials/rtsql-working-with-inputs-and-outputs中测试了示例,以确保至少一些 R 代码在 SQL 中正常工作服务器。
我试过了
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'a1=c(4,3,4,5,1,5,5,5,5,5,5,4,4,4,5,4,5,5,5,4,5,5,4,4,5,5,3,4,4,4,4,5,5,4,3,5,1,5,5,5,5,4,4,4,5,5,4,5,5,4,5,5,5,4,4,1,5,5,3,5,5,4,5,5,4,4,4,4,5,5,4,4,4,4,5,1,5,5,5,4,4,3,5,4,5,5,4,4,4,5,5,5,5,5,3,5,4,5,5,5,5,5,5,5,4,5,4,4,5,4,5,5,5,4,5,4,4,5,4,5,5,2,4,4,5,3,4,4,4,5,4,5,3,5,5,5,4,5,5,2,1,5,5,5,4,4,4,4,5,5,4,4,5)
a1=c(4,3,4,5,1,5,5,5,5,5,5,4,4,4,5,4,5,5,5,4,5,5,4,4,5,5,3,4,4,4,4,5,5,4,3,5,1,5,5,5,5,4,4,4,5,5,4,5,5,4,5,5,5,4,4,1,5,5,3,5,5,4,5,5,4,4,4,4,5,5,4,4,4,4,5,1,5,5,5,4,4,3,5,4,5,5,4,4,4,5,5,5,5,5,3,5,4,5,5,5,5,5,5,5,4,5,4,4,5,4,5,5,5,4,5,4,4,5,4,5,5,2,4,4,5,3,4,4,4,5,4,5,3,5,5,5,4,5,5,2,1,5,5,5,4,4,4,4,5,5,4,4,5)
a2=c(4,4,4,5,5,5,5,5,4,4,4,4,4,5,5,5,5,5,5,4,5,4,4,5,5,5,4,4,5,4,5,5,5,4,4,4,1,5,5,4,5,3,4,4,4,5,5,5,5,5,5,5,5,5,4,1,4,5,4,4,4,5,5,4,5,5,4,4,4,4,4,3,5,4,5,5,5,5,4,4,4,2,4,5,4,5,5,4,2,5,5,4,4,5,4,5,5,5,4,4,5,4,4,5,4,5,4,3,4,5,5,5,4,4,5,2,2,2,4,5,4,3,5,4,5,3,4,5,4,5,4,5,4,5,4,4,5,5,5,4,1,5,5,4,4,4,4,4,4,5,4,4,4)
a3=c(5,4,5,3,2,4,4,4,4,3,4,5,3,3,2,2,2,1,2,3,2,5,2,4,2,2,4,2,4,5,4,3,4,2,4,4,1,1,4,4,3,3,2,2,3,3,3,2,4,2,5,4,3,3,4,3,4,4,3,3,4,3,4,4,2,2,4,4,5,4,4,4,3,4,4,2,4,2,3,2,5,4,4,3,5,4,4,4,4,1,2,3,2,4,5,3,3,2,3,4,5,3,4,3,4,1,3,4,4,2,2,2,3,3,3,4,4,5,2,4,4,4,3,3,2,4,4,2,3,4,4,4,4,2,2,3,3,2,3,3,3,2,4,2,3,3,4,4,3,5,2,3,2)
a4=c(2,4,2,2,2,2,2,4,2,4,2,4,2,2,2,2,2,1,1,2,2,1,2,1,2,4,1,1,2,4,2,2,2,1,2,2,1,1,2,2,2,4,5,2,1,1,2,1,2,4,3,4,2,4,1,4,3,2,2,2,1,2,1,2,4,5,2,2,2,1,2,2,3,2,2,4,1,1,2,2,3,5,2,2,2,1,2,4,2,5,1,2,1,3,2,4,2,2,2,4,4,1,2,1,2,1,2,4,2,2,4,2,2,3,2,2,2,2,4,1,4,2,2,2,2,2,2,4,2,3,2,4,3,2,2,2,2,4,1,2,2,2,2,1,5,2,4,5,2,2,2,3,1)
a5=c(5,5,5,5,5,5,4,5,3,4,5,4,5,5,5,5,5,5,5,4,5,5,4,5,5,4,5,4,5,5,5,5,4,5,4,5,5,5,5,5,5,5,5,4,5,5,5,5,1,4,5,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,4,5,5,5,5,4,4,5,5,5,5,5,5,5,3,5,5,5,5,5,5,4,5,5,5,5,4,4,4,5,5,5,5,1,5,4,5,5,4,4,5,5,5,4,5,1,4,5,5,5,5,4,5,2,4,1,5,5,4,5,5,4,5,1,4,4,5,5,5,4,5,5,5,5,5,4,5,4,4,4,4,5,4.56579,5,4,4)
a6=c(2,2,3,4,4,4,3,4,3,3,2,4,4,5,5,5,4,4,5,3,4,4,4,5,4,4,2,2,4,4,4,5,5,5,3,2,1,4,4,3,2,2,4,4,4,4,4,4,4,4,5,1,4,4,4,5,4,5,2,3,1,4,4,4,4,4,3,2,3,3,4,3,4,2,5,4,4,5,4,4,4,2,2,4,4,2,1,4,3,5,5,4,4,4,4,5,3,5,4,4,5,3,2,3,4,4,4,2,4,4,4,5,4,4,4,3,3,3,4,4,4,2,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,5,5,4,5,4,4,4,4,4,3,4,4,2,4,2,5)
a7=c(2,2,4,1,2,1,2,2,2,4,2,2,3,2,1,2,2,1,1,2,4,2,1,2,2,2,2,1,5,4,1,1,4,1,3,2,5,2,2,2,4,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,3,1,3,2,1,2,1,2,2,2,2,3,2,2,2,4,2,2,2,2,4,2,3,1,2,3,3,2,4,1,2,2,2,1,1,2,1,2,3,2,1,1,2,2,1,2,3,2,2,1,2,2,2,2,2,1,2,3,2,2,4,1,3,2,2,2,2,3,2,2,1,1,2,3,3,3,2,1,2,2,2,1,5,1,2,2,1,1,3,2,2,3,2,4,2,3,2)
a8=c(4,5,5,4,4,4,4,5,4,3,4,5,4,5,5,4,5,5,5,4,4,5,5,4,4,5,3,4,5,4,4,5,5,4,4,4,1,4,5,5,3,2,4,3,4,5,5,1,5,4,5,5,4,5,4,5,4,5,3,5,5,4,5,3,5,4,5,4,5,4,4,3,4,4,4,4,4,4,5,4,4,2,4,4,4,4,4,4,3,5,4,4,4,4,3,4,4,5,4,5,5,4,3,5,4,5,4,2,4,4,4,5,4,4,4,4,5,5,4,5,5,3,4,4,4,4,5,4,4,4,4,4,3,5,4,5,4,5,5,4,5,5,5,5,3,4,2,4,4,1,5,4,4)
a9=c(2,1,1,1,1,2,2,1,1,2,4,2,2,1,1,1,2,1,1,3,2,1,1,1,1,1,2,2,1,1,2,1,1,1,2,1,5,1,2,1,1,3,2,2,2,2,1,2,1,2,1,2,2,2,2,1,1,1,4,2,1,2,2,2,2,2,2,2,2,1,1,3,1,1,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,2,2,1,1,2,1,1,2,1,2,2,2,2,1,1,1,3,4,2,2,2,2,1,2,2,1,3,2,3,2,2,2,2,2,2,2,4,2,2,2,3,2,2,1,1,2,2,1,1,2,1,2,1,1,3,2,2,2,1,1,2,2,1)
a10=c(5,4,4,4,5,5,5,4,5,4,4,4,3,5,5,4,4,5,5,4,4,5,3,5,4,5,4,4,5,4,4,5,4,4,5,4,1,4,4,4,5,3,4,4,3,5,4,4,5,5,4,4,4,4,4,5,4,4,4,4,5,4,5,4,5,4,4,4,3,4,4,4,5,3,4,4,4,5,5,5,4,4,4,4,4,5,5,4,3,5,4,4,5,4,4,5,4,4,4,5,5,3,4,3,4,5,5,4,5,4,4,4,5,4,4,4,4,2,4,4,4,4,5,3,4,4,4,4,4,4,3,4,4,4,4,3,4,5,5,4,5,4,4,4,4,4,4,4,4,4,4,3,4)
a11=c(4,4,5,4,4,3,4,4,3,4,4,4,3,4,5,4,4,5,4,3,4,4,4,5,4,5,4,4,5,4,3,5,5,4,4,4,5,4,4,4,5,3,4,4,4,4,4,4,4,4,5,2,5,4,4,5,3,5,3,5,5,4,5,3,4,5,4,4,4,4,2,4,4,2,4,4,4,4,5,4,4,4,3,4,4,5,4,5,3,5,4,5,4,4,3,4,4,5,4,4,5,4,3,4,3,4,4,3,5,4,4,5,5,4,5,4,4,3,3,4,4,4,4,3,5,4,4,4,4,4,3,4,5,5,4,4,4,5,5,4,5,4,4,4,4,4,4,3,5,4,3,4,4)
a12=c(2,4,4,2,1,2,2,2,2,4,4,3,2,2,1,1,2,1,1,3,2,2,2,2,2,2,2,2,3,2,2,1,1,1,3,1,5,3,2,2,4,3,2,2,2,1,2,1,2,2,3,1,2,2,1,1,2,1,3,2,3,1,1,2,2,3,1,1,3,4,2,3,2,2,2,2,2,4,2,2,1,2,2,2,2,2,2,2,4,1,1,2,1,2,2,2,1,2,2,3,1,2,3,2,2,1,3,1,1,2,2,2,2,1,1,2,4,2,1,2,2,2,3,2,2,2,1,2,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,1,2,2,4,3,2,2,2,3,3)
a13=c(4,3,3,2,2,2,2,2,2,4,4,3,2,4,1,2,2,1,1,2,2,2,2,2,2,2,4,2,4,1,2,1,1,1,3,1,1,1,2,4,4,2,2,2,3,1,2,2,2,2,3,3,2,2,1,1,1,1,3,2,3,1,1,2,1,2,1,1,2,4,2,2,2,1,2,2,2,3,2,1,1,2,1,2,2,1,1,2,4,1,1,1,2,2,4,2,1,1,3,2,1,2,2,2,2,1,3,1,1,2,1,2,2,2,2,2,2,4,3,2,2,2,2,2,2,2,2,2,2,2,2,2,3,1,2,2,2,1,1,2,1,2,2,1,2,2,3,3,1,1.99342,2,3,2)
a14=c(4,3,5,5,5,4,4,5,4,4,2,4,4,5,5,5,5,5,5,4,4,4,4,5,5,5,2,5,5,4,3,5,4,5,4,5,5,4,4,4,5,4,4,5,3,5,4,2,4,5,5,4,4,4,4,5,4,5,4,5,5,4,5,4,5,4,4,5,5,5,5,4,3,4,4,4,4,5,5,5,5,4,5,4,5,4,5,4,3,5,3,4,4,5,3,5,4,5,4,4,5,4,4,5,4,4,4,3,5,5,4,5,5,4,5,2,5,3,3,4,2,2,5,4,4,4,5,4,4,2,4,4,3,5,4,4,4,5,5,4,5,4,4,4,3,4,4,3,5,5,4,4,5)
a15=c(2,2,2,2,2,1,4,2,3,4,3,2,2,2,1,1,2,1,2,2,1,1,1,2,2,4,3,4,3,4,1,1,5,1,2,2,1,2,1,2,2,1,2,1,2,2,2,1,2,2,2,2,2,2,2,1,2,2,2,1,1,3,1,2,2,1,2,1,2,2,2,3,3,2,2,4,2,1,2,2,2,2,2,2,2,1,1,1,1,1,2,1,4,2,1,1,1,1,2,4,2,2,2,2,2,1,2,4,2,2,2,2,1,2,1,2,3,1,2,2,1,2,2,2,2,3,2,4,1,2,2,2,2,4,2,1,2,1,1,2,1,1,2,2,2,2,2,2,2,2,2,2,1)
a16=c(2,3,4,4,4,4,5,4,3,3,2,5,4,4,5,4,4,5,5,3,3,3,4,4,4,4,4,4,4,4,4,5,5,5,4,4,1,4,4,4,2,3,4,3,4,4,3,1,4,4,4,5,4,4,4,5,3,5,3,4,4,3,5,4,4,4,4,3,3,3,2,4,4,2,4,4,4,4,4,5,4,3,3,4,4,4,4,4,4,5,4,4,5,4,2,4,4,5,4,4,4,3,4,4,3,4,4,4,3,4,4,4,5,3,4,3,3,5,4,4,4,2,3,4,4,4,4,5,4,3,4,4,4,4,4,4,4,5,5,3,2,4,4,5,3,4,3,4,5,3.82237,4,4,4)
a17=c(4,4,3,5,4,5,4,4,3,4,4,5,4,4,5,4,5,3,5,3,4,4,4,4,3,4,5,4,4,4,3,5,5,4,3,4,1,4,4,4,3,3,4,4,4,4,4,1,4,4,5,5,4,3,4,5,4,5,4,5,5,4,4,4,4,4,4,3,4,2,4,4,4,2,3,4,4,4,4,4,3,3,3,4,3,4,2,5,3,5,5,4,4,4,2,5,4,4,4,4,4,4,4,4,3,5,4,2,3,4,4,2,3,3,4,4,3,5,3,5,5,4,4,4,4,4,4,5,4,3,4,3,3,4,4,4,4,4,5,4,3,4,4,5,4,4,4,3,5,3,3,4,4)
a18=c(4,3,4,4,5,3,3,3,4,3,3,3,4,4,4,5,3,4,5,3,2,3,3,4,4,3,2,4,3,3,4,2,4,4,3,4,1,3,3,4,5,2,4,4,3,3,4,3,4,3,5,2,4,4,4,3,3,5,3,2,4,4,4,4,5,3,3,4,2,4,4,3,4,4,4,4,4,3,4,4,4,4,3,4,4,4,4,4,2,3,3,3,4,3,3,4,4,2,3,3,5,3,3,4,2,2,3,2,4,3,4,5,2,4,4,2,4,2,5,4,2,2,4,3,3,3,4,3,3,3,3,4,4,4,3,3,3,1,5,4,3,4,4,4,3,2,3,3,2,5,4,3,3)
a19=c(4,4,4,5,5,4,5,3,4,3,4,3,4,5,2,5,5,5,4,4,4,4,4,4,5,5,2,4,5,4,5,5,5,5,4,5,1,5,4,3,5,3,4,4,4,4,4,1,5,4,4,4,4,5,5,5,4,5,4,4,4,4,5,4,5,4,3,5,5,5,3,4,4,4,4,5,4,4,5,5,3,4,4,4,4,4,5,5,2,5,5,4,5,4,2,5,5,4,4,4,4,5,4,5,3,5,4,3,4,4,4,5,5,3,4,3,5,2,5,4,4,2,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,5,5,4,4,4,5,4,3,4,3,2,4,4,5,4)
a20=c(5,5,5,5,5,5,4,5,3,4,5,4,5,5,5,5,5,5,5,4,5,5,4,5,5,4,5,4,5,5,5,5,4,5,4,5,5,5,5,5,5,5,5,4,5,5,5,5,1,4,5,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,4,5,5,5,5,4,4,5,5,5,5,5,5,5,3,5,5,5,5,5,5,4,5,5,5,5,4,4,4,5,5,5,5,1,5,4,5,5,4,4,5,5,5,4,5,1,4,5,5,5,5,4,5,2,4,1,5,5,4,5,5,4,5,1,4,4,5,5,5,4,5,5,5,5,5,4,5,4,4,4,4,5,4.56579,5,4,4)
options(warn=-1);a=cbind(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20)
library(psych);
result = tryCatch(alpha(a), warning = function(w) {tryCatch(alpha(a,check.keys=TRUE),warning = function(w) { print("Error, lets try some likelihood!" ) })})
cor(a, method = c("spearman"))'
, @input_data_1 = N' SELECT 1 as Temp1'
WITH RESULT SETS (([Col1] char(20) NOT NULL));
错误是
消息 39004,级别 16,状态 20,第 1 行
执行“sp_execute_external_script”期间出现“R”脚本错误,HRESULT 为 0x80004004。消息 39019,级别 16,状态 1,第 1 行
发生外部脚本错误:
库 (psych) 错误:没有名为“psych”的包
调用:source -> withVisible -> eval -> eval -> library
要通过 SQL Server 在 R 中使用库,您需要确保包位于默认库中。R 本身对此更灵活,但 SQL Server 要求更严格的加载: