如果R中的两个数据帧具有相等的列数,那么我们可以在这些数据帧的列之间找到相关系数,这将成为相关矩阵。例如,如果我们有一个包含x和y列的数据帧df1,而另一个包含a和b列的数据帧df2,则可以通过cor(df1,df2)找到df1和df2之间的相关系数。
请看以下数据帧:
> x1<-rnorm(20,40,1) > x2<-rnorm(20,40,2.5) > df1<-data.frame(x1,x2) > df1
输出结果
x1 x2 1 39.56630 38.25632 2 39.43689 44.14647 3 40.80479 37.43309 4 40.34051 39.99801 5 40.35843 32.90392 6 39.00226 37.35173 7 39.50567 41.58829 8 40.62072 40.15825 9 40.87509 40.95915 10 40.00141 41.61430 11 40.66278 42.94636 12 41.73270 39.31584 13 40.85441 40.49112 14 39.48948 45.01913 15 38.99657 39.62922 16 37.94110 37.74148 17 40.27031 38.78546 18 38.99950 40.38444 19 40.72692 38.71749 20 39.40853 41.04819
> y1<-rnorm(20,1,0.47) > y2<-rnorm(20,1,0.59) > df2<-data.frame(y1,y2) > df2
输出结果
y1 y2 1 0.9838238 0.68734717 2 1.3925584 1.36682711 3 0.7476216 0.79403604 4 -0.1170126 0.45490447 5 1.3735461 1.28769736 6 0.4054685 1.24869506 7 0.2779903 0.97357550 8 1.6027345 1.46525577 9 1.3120895 1.70480214 10 1.3728221 0.83932208 11 1.2434638 1.42851893 12 1.4489997 0.77707573 13 1.1582931 -0.06776824 14 0.1890778 0.11686600 15 1.8483871 -0.23030292 16 1.5209849 0.26422644 17 1.2637409 1.24343600 18 1.1026349 1.12995474 19 0.4537390 0.62729603 20 0.4520326 0.77140826
找到df1和df2之间的相关性:
> cor(df1,df2)
输出结果
y1 y2 x1 0.04218867 0.24817633 x2 -0.14992022 -0.04890168
> a1<-rpois(20,5) > a2<-rpois(20,5) > dfa<-data.frame(a1,a2) > dfa
输出结果
a1 a2 1 7 2 2 6 4 3 8 1 4 4 9 5 7 7 6 1 5 7 10 9 8 9 5 9 6 4 10 2 4 11 4 6 12 3 7 13 8 9 14 5 8 15 3 7 16 8 6 17 5 10 18 6 6 19 4 6 20 0 5
> b1<-rpois(20,2) > b2<-rpois(20,2) > dfb<-data.frame(b1,b2) > dfb
输出结果
b1 b2 1 2 1 2 2 0 3 1 5 4 1 6 5 1 1 6 0 3 7 0 3 8 4 2 9 1 1 10 2 2 11 3 2 12 3 2 13 5 5 14 1 1 15 0 2 16 1 3 17 4 2 18 0 4 19 1 2 20 4 2
查找dfa和dfb之间的相关性:
> cor(dfa,dfb)
输出结果
b1 b2 a1 -0.02277452 0.1306828 a2 0.13002305 0.2173069