运行 Hmisc::rcorr() 在数据帧列表上使用 lapply

Running Hmisc::rcorr() on a list of dataframes using lapply

我正在尝试 运行 对数据帧列表中每个数据帧中的每两对字段进行 Pearson 相关性测试。

data(mtcars)
split_mtcars  = split (mtcars, f= mtcars$gear) 
lapply (split_mtcars,FUN = function (x) 
    rcorr(as.matrix(split_mtcars$x %>% select (-gear,-am)))) #remove `gear` and `am` from matrix

我收到以下错误:

Error in UseMethod("select") : 
no applicable method for 'select' applied to an object of class "NULL"

当我尽量避免使用 select:

lapply (split_mtcars,FUN = function (x) rcorr(as.matrix(split_mtcars$x)))

我收到以下错误:

Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), : 
'data' must be of a vector type, was 'NULL'

当我们遍历 list 时,lambda 函数 x returns 对象本身 - 即 xdata.frame 中的元素 list。因此,只有当我们遍历 split_mtcars 对象

names 时,split_mtcars$x 才会起作用
library(dplyr)
library(Hmisc)
lapply(split_mtcars, function(x) rcorr(as.matrix(x %>% 
           select(-gear, -am))) )

-输出

$`3`
       mpg   cyl  disp    hp  drat    wt  qsec    vs  carb
mpg   1.00 -0.65 -0.72 -0.74  0.16 -0.78  0.49  0.65 -0.85
cyl  -0.65  1.00  0.74  0.75 -0.31  0.57 -0.79 -0.93  0.68
disp -0.72  0.74  1.00  0.75 -0.24  0.85 -0.55 -0.68  0.72
hp   -0.74  0.75  0.75  1.00  0.19  0.65 -0.81 -0.78  0.95
drat  0.16 -0.31 -0.24  0.19  1.00 -0.27 -0.19  0.09  0.12
wt   -0.78  0.57  0.85  0.65 -0.27  1.00 -0.25 -0.53  0.76
qsec  0.49 -0.79 -0.55 -0.81 -0.19 -0.25  1.00  0.84 -0.66
vs    0.65 -0.93 -0.68 -0.78  0.09 -0.53  0.84  1.00 -0.73
carb -0.85  0.68  0.72  0.95  0.12  0.76 -0.66 -0.73  1.00

n= 15 


P
     mpg    cyl    disp   hp     drat   wt     qsec   vs     carb  
mpg         0.0094 0.0022 0.0016 0.5712 0.0006 0.0639 0.0089 0.0000
cyl  0.0094        0.0017 0.0014 0.2578 0.0256 0.0004 0.0000 0.0050
disp 0.0022 0.0017        0.0012 0.3948 0.0000 0.0323 0.0050 0.0024
hp   0.0016 0.0014 0.0012        0.5017 0.0087 0.0002 0.0006 0.0000
drat 0.5712 0.2578 0.3948 0.5017        0.3230 0.4896 0.7511 0.6684
wt   0.0006 0.0256 0.0000 0.0087 0.3230        0.3697 0.0442 0.0011
qsec 0.0639 0.0004 0.0323 0.0002 0.4896 0.3697        0.0000 0.0075
vs   0.0089 0.0000 0.0050 0.0006 0.7511 0.0442 0.0000        0.0018
carb 0.0000 0.0050 0.0024 0.0000 0.6684 0.0011 0.0075 0.0018       

$`4`
       mpg   cyl  disp    hp  drat    wt  qsec    vs  carb
mpg   1.00 -0.67 -0.90 -0.88  0.56 -0.82  0.26  0.31 -0.75
cyl  -0.67  1.00  0.77  0.77 -0.32  0.56 -0.59 -0.63  0.94
disp -0.90  0.77  1.00  0.81 -0.63  0.91 -0.21 -0.44  0.86
hp   -0.88  0.77  0.81  1.00 -0.49  0.73 -0.32 -0.37  0.77
drat  0.56 -0.32 -0.63 -0.49  1.00 -0.69 -0.05  0.21 -0.25
wt   -0.82  0.56  0.91  0.73 -0.69  1.00  0.10 -0.10  0.66
qsec  0.26 -0.59 -0.21 -0.32 -0.05  0.10  1.00  0.64 -0.49
vs    0.31 -0.63 -0.44 -0.37  0.21 -0.10  0.64  1.00 -0.60
carb -0.75  0.94  0.86  0.77 -0.25  0.66 -0.49 -0.60  1.00

n= 12 


P
     mpg    cyl    disp   hp     drat   wt     qsec   vs     carb  
mpg         0.0172 0.0000 0.0002 0.0589 0.0010 0.4126 0.3223 0.0052
cyl  0.0172        0.0031 0.0034 0.3183 0.0600 0.0423 0.0273 0.0000
disp 0.0000 0.0031        0.0014 0.0293 0.0000 0.5168 0.1482 0.0003
hp   0.0002 0.0034 0.0014        0.1042 0.0065 0.3095 0.2367 0.0037
drat 0.0589 0.3183 0.0293 0.1042        0.0124 0.8709 0.5036 0.4314
wt   0.0010 0.0600 0.0000 0.0065 0.0124        0.7463 0.7652 0.0192
qsec 0.4126 0.0423 0.5168 0.3095 0.8709 0.7463        0.0238 0.1041
vs   0.3223 0.0273 0.1482 0.2367 0.5036 0.7652 0.0238        0.0402
carb 0.0052 0.0000 0.0003 0.0037 0.4314 0.0192 0.1041 0.0402       

$`5`
       mpg   cyl  disp    hp  drat    wt  qsec    vs  carb
mpg   1.00 -0.96 -0.88 -0.90  0.22 -0.99  0.98  0.76 -0.81
cyl  -0.96  1.00  0.95  0.96 -0.28  0.94 -1.00 -0.56  0.77
disp -0.88  0.95  1.00  0.90 -0.01  0.86 -0.93 -0.52  0.55
hp   -0.90  0.96  0.90  1.00 -0.42  0.92 -0.94 -0.45  0.83
drat  0.22 -0.28 -0.01 -0.42  1.00 -0.25  0.25 -0.21 -0.70
wt   -0.99  0.94  0.86  0.92 -0.25  1.00 -0.96 -0.76  0.85
qsec  0.98 -1.00 -0.93 -0.94  0.25 -0.96  1.00  0.62 -0.77
vs    0.76 -0.56 -0.52 -0.45 -0.21 -0.76  0.62  1.00 -0.51
carb -0.81  0.77  0.55  0.83 -0.70  0.85 -0.77 -0.51  1.00

n= 5 


P
     mpg    cyl    disp   hp     drat   wt     qsec   vs     carb  
mpg         0.0092 0.0486 0.0375 0.7252 0.0013 0.0035 0.1382 0.0976
cyl  0.0092        0.0153 0.0094 0.6453 0.0165 0.0004 0.3273 0.1302
disp 0.0486 0.0153        0.0399 0.9898 0.0622 0.0216 0.3694 0.3406
hp   0.0375 0.0094 0.0399        0.4819 0.0288 0.0195 0.4481 0.0816
drat 0.7252 0.6453 0.9898 0.4819        0.6845 0.6805 0.7352 0.1908
wt   0.0013 0.0165 0.0622 0.0288 0.6845        0.0111 0.1324 0.0691
qsec 0.0035 0.0004 0.0216 0.0195 0.6805 0.0111        0.2615 0.1277
vs   0.1382 0.3273 0.3694 0.4481 0.7352 0.1324 0.2615        0.3751
carb 0.0976 0.1302 0.3406 0.0816 0.1908 0.0691 0.1277 0.3751