gpt4 book ai didi

r - 如何 reshape R 中的相关输出(非旋转结果数据)?

转载 作者:行者123 更新时间:2023-12-04 01:54:15 26 4
gpt4 key购买 nike

我有一些用于计算相关性的遗留代码,现在想使用 R 解决方案,因为它速度更快。

具有以下代码:

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)
DataOut <- data.frame(curData)
'
, @input_data_1 = N'SELECT [VariableA], [VariableB], [Value] FROM #DummyData'
, @input_data_1_name = N'DataIn'
, @output_data_1_name = N'DataOut';

我们有这样的输出:

enter image description here

有没有办法使用一些 R 库函数来转换成这个?

enter image description here

最佳答案

你可以运行:

library(tidyverse)

DataOut %>%
rownames_to_column("variable_b1") %>%
gather(key = variable_b2, val = Rho, -variable_b1)

结果:

  variable_b1 variable_b2        Rho
1 B1 B1 1.0000000
2 B2 B1 0.8660254
3 B3 B1 -0.8660254
4 B1 B2 0.8660254
5 B2 B2 1.0000000
6 B3 B2 -0.5000000
7 B1 B3 -0.8660254
8 B2 B3 -0.5000000
9 B3 B3 1.0000000

关于r - 如何 reshape R 中的相关输出(非旋转结果数据)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51500467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com