创建一个相关系数组合的 data.table 对象。

r programmingserver side programmingprogramming

要创建一个相关系数组合的 data.table 对象,我们首先需要找到相关矩阵,然后找到创建相关矩阵的变量组合,然后使用 data.table 来组合变量组合和相关系数。

查看以下示例以了解如何完成。

示例 1

以下代码片段创建了一个示例数据框 −

x1<-rnorm(20)
x2<-rnorm(20,2,0.05)
x3<-rnorm(20,2,0.78)
x4<-rnorm(20,5,1)
df1<-data.frame(x1,x2,x3,x4)
df1

创建以下数据框

           x1         x2       x3       x4
1   0.77994570 2.044288 1.2866822 6.139428
2  -0.57165011 1.931588 2.3060454 4.156558
3  -2.41470804 1.980485 2.0120719 5.928814
4  -1.25221041 2.059422 2.6341341 4.449050
5  -0.07042562 1.989987 0.6263381 4.378990
6   0.97821341 1.998165 2.4876630 3.473989
7  -0.99143292 1.980309 0.8280679 4.561764
8   0.98428356 2.046979 2.5538780 6.288159
9   0.32649034 1.987681 1.2260120 6.088381
10 -0.43238724 1.960947 1.5529283 4.425975
11  0.53374978 2.023177 2.7411385 6.853143
12  1.47847428 2.012680 2.2124862 5.552493
13 -1.27691863 1.977755 0.7198475 5.564577
14 -0.82864337 2.095960 1.9234651 4.903183
15  0.13440338 2.010327 2.6039556 3.557598
16  0.12110980 2.038554 1.3294818 4.130975
17 -0.03789286 1.971120 1.2343970 4.714649
18  1.60358705 1.930691 2.7022694 5.498787
19  0.22071213 1.976550 2.0997674 3.553371
20 -0.77764431 1.961341 0.8304568 5.664547

要查找上面创建的数据框中 df1 中存储的数据的相关矩阵,请将以下代码添加到上面的代码片段中 −

x1<-rnorm(20)
x2<-rnorm(20,2,0.05)
x3<-rnorm(20,2,0.78)
x4<-rnorm(20,5,1)
df1<-data.frame(x1,x2,x3,x4)
Corr_M_df1<-cor(df1)
Corr_M_df1

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

           x1         x2          x3          x4
x1 1.00000000 0.02822366  0.34313832  0.07829032
x2 0.02822366 1.00000000  0.17955473  0.13063972
x3 0.34313832 0.17955473  1.00000000 -0.03920003
x4 0.07829032 0.13063972 -0.03920003 1.00000000

要在上述创建的数据框中找到相关矩阵中的变量组合,请将以下代码添加到上述代码片段中−

x1<-rnorm(20)
x2<-rnorm(20,2,0.05)
x3<-rnorm(20,2,0.78)
x4<-rnorm(20,5,1)
df1<-data.frame(x1,x2,x3,x4)
Corr_M_df1<-cor(df1)
Comb_Vars_df1<-t(combn(colnames(Corr_M_df1),2))
Comb_Vars_df1

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

     [,1] [,2]
[1,] "x1" "x2"
[2,] "x1" "x3"
[3,] "x1" "x4"
[4,] "x2" "x3"
[5,] "x2" "x4"
[6,] "x3" "x4"

要加载 data.table 包并为上面创建的数据框中的相关系数组合创建 data.table 对象,请将以下代码添加到上面的代码片段中 −

x1<-rnorm(20)
x2<-rnorm(20,2,0.05)
x3<-rnorm(20,2,0.78)
x4<-rnorm(20,5,1)
df1<-data.frame(x1,x2,x3,x4)
Corr_M_df1<-cor(df1)
Comb_Vars_df1<-t(combn(colnames(Corr_M_df1),2))
library(data.table)
DT1<-data.table(Comb_Vars_df1,Corr_M_df1[Comb_Vars_df1])
DT1

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

   V1 V2        V2
1: x1 x2 0.02822366
2: x1 x3 0.34313832
3: x1 x4 0.07829032
4: x2 x3 0.17955473
5: x2 x4 0.13063972
6: x3 x4 -0.03920003

示例 2

以下代码片段创建了一个示例数据框 −

y1<-rpois(20,1)
y2<-rpois(20,2)
y3<-rpois(20,5)
y4<-rpois(20,2)
df2<-data.frame(y1,y2,y3,y4)
df2

创建以下数据框

  y1  y2 y3 y4
1  0  2   4  0
2  1  1   3  0
3  0  5   5  1
4  2  0   3  2
5  1  0   5  3
6  0  0   5  1
7  1  1   8  1
8  0  1   3  4
9  0  1   2  1
10 1  3   8  1
11 1  1   4  3
12 1  2   2  3
13 1  1   2  4
14 0  2   8  3
15 1  2   8  2
16 1  2   6  4
17 3  1   4  2
18 3  2   3  0
19 0  1   5  4
20 1  3   5  4

要查找上面创建的数据框中 df2 中存储的数据的相关矩阵,请将以下代码添加到上面的代码片段中 −

y1<-rpois(20,1)
y2<-rpois(20,2)
y3<-rpois(20,5)
y4<-rpois(20,2)
df2<-data.frame(y1,y2,y3,y4)
Corr_M_df2<-cor(df2)
Corr_M_df2

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

            y1         y2         y3         y4
y1  1.0000000 -0.1405368 -0.15977673 -0.14617656
y2 -0.1405368  1.0000000  0.27579791 -0.11041245
y3 -0.1597767  0.2757979  1.00000000 -0.01662246
y4 -0.1461766 -0.1104125 -0.01662246  1.00000000

要在上述创建的数据框中找到相关矩阵中的变量组合,请将以下代码添加到上述代码片段中−

y1<-rpois(20,1)
y2<-rpois(20,2)
y3<-rpois(20,5)
y4<-rpois(20,2)
df2<-data.frame(y1,y2,y3,y4)
Corr_M_df2<-cor(df2)
Comb_Vars_df2<-t(combn(colnames(Corr_M_df2),2))
Comb_Vars_df2

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

     [,1] [,2]
[1,] "y1" "y2"
[2,] "y1" "y3"
[3,] "y1" "y4"
[4,] "y2" "y3"
[5,] "y2" "y4"
[6,] "y3" "y4"

要为上面创建的数据框中的相关系数组合创建 data.table 对象,请将以下代码添加到上面的代码片段中 −

y1<-rpois(20,1)
y2<-rpois(20,2)
y3<-rpois(20,5)
y4<-rpois(20,2)
df2<-data.frame(y1,y2,y3,y4)
Corr_M_df2<-cor(df2)
Comb_Vars_df2<-t(combn(colnames(Corr_M_df2),2))
DT2<-data.table(Comb_Vars_df2,Corr_M_df2[Comb_Vars_df2])
DT2

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

   V1 V2          V2
1: y1 y2 -0.14053680
2: y1 y3 -0.15977673
3: y1 y4 -0.14617656
4: y2 y3  0.27579791
5: y2 y4 -0.11041245
6: y3 y4 -0.01662246

相关文章