我正在尝试使用SQL Server 2016 R Services创建关联矩阵。 由于我将拥有大量数据,因此我想使用标准R“ cor”函数的新Rx版本。
This是我要使用的功能:
这是我现在拥有的代码。
DROP TABLE IF EXISTS #DummyData
CREATE TABLE #DummyData
(
[VariableA] VARCHAR(24)
,[VariableB] VARCHAR(24)
,[Value] SMALLINT
)
INSERT INTO #DummyData([VariableA], [VariableB], [Value])
VALUES ('A1','B1', 4)
,('A1','B2', 3)
,('A1','B3', 1)
,('A2','B1', 2)
,('A2','B2', 1)
,('A2','B3', 3)
,('A3','B1', 4)
,('A3','B2', 5)
,('A3','B3', 2);
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'
library(reshape)
pivotData <- cast(DataIn, VariableA ~ VariableB,fun.aggregate = max)
curData <- cor(pivotData, method="spearman")
DataOut <- data.frame(row=rownames(curData)[row(curData)[upper.tri(curData)]],
col=colnames(curData)[col(curData)[upper.tri(curData)]],
corr=curData[upper.tri(curData)])
'
, @input_data_1 = N'SELECT [VariableA], [VariableB], [Value] FROM #DummyData'
, @input_data_1_name = N'DataIn'
, @output_data_1_name = N'DataOut';
这段代码给我以下结果:
任何想法,但是使用MS RevoScaleR软件包,我如何能获得相同的结果?