如何找到R中两个数据帧的行之间的相关系数?

通常在R数据帧的列之间找到相关系数,但我们可能想在两个数据帧的行之间找到相关系数。在我们期望存在一个R数据帧的行与另一个数据帧的行的关系的情况下,可能需要这样做。例如,R数据框的一行显示了一年中客户的购买趋势,而另一数据框的同一行则显示了同一客户在另一年中的购买趋势。

请看以下数据帧-

示例

x1<-sample(0:100,20)

x2<-sample(0:100,20)

x3<-sample(0:100,20)

df1<-data.frame(x1,x2,x3)

df1

输出结果

  x1 x2 x3

1 56 61 23

2 87 89 60

3 26 38 5

4 92 23 81

5 43 34 51

6 54 39 55

7 20 1 40

8 38 35 93

9 7 68 35

10 15 71 36

11 39 13 43

12 10 72 61

13 29 95 14

14 70 42 76

15 61 50 63

16 45 88 52

17 25 4 25

18 16 19 17

19 35 57 64

20 46 44 67

示例

y1<-sample(0:100,20)

y2<-sample(0:100,20)

y3<-sample(0:100,20)

df2<-data.frame(y1,y2,y3)

df2

输出结果

  y1 y2 y3

1 80 8 10

2 23 46 89

3 43 81 64

4 22 57 68

5 16 18 50

6 78 22 11

7 34 28 5

8 81 38 37

9 99 26 94

10 21 74 44

11 10 40 52

12 26 32 98

13 11 49 2

14 52 23 1

15 1 61 62

16 33 96 82

17 32 71 70

18 57 73 87

19 48 25 60

20 89 41 90

找出数据帧df1和数据帧df2的行之间的相关系数-

示例

sapply(1:nrow(as.matrix(df1)), function(i) cor(as.matrix(df1)[i,], as.matrix(df2)[i,]))

输出结果

[1] 0.36890690 -0.91625073 0.30193606 -0.42728802 0.81965616 0.30896698

[7] -0.76093117 -0.47727710 -0.91512959 0.99774017 -0.11918743 0.41844066

[13] 0.99997923 -0.08688539 -0.35782508 0.77650429 -0.51934914 0.36342738

[19] 0.05387382 0.58105192

以上是 如何找到R中两个数据帧的行之间的相关系数? 的全部内容, 来源链接: utcz.com/z/331363.html

回到顶部