将一组列中的非零值与 R 中的最后一列相关联

Correlating non-zero values in a set of columns to one final column in R

我有一个 300 行、2010 列的数据矩阵,其中除最后一列外的所有数据都包含 0 值和非零计数数据的混合。最后一列包含我想要将其他列关联到的变量的测量值。我想单独获得与前 2009 列的非零值的相关性(我已经完成了包括零值的相关性并想比较结果)。有没有一种方法可以修改以下代码,以便根据每列的非零值给我一个相关性?

> nrow(cor5.mat)
[1] 300

> ncol(cor5.mat)
[1] 2010

#last column is named "Smoking"

out5 <- as.data.frame(cor(cor5.mat, cor5.mat$Smoking))   
cor5.mat_1 <- cor5.mat
cor5.mat_1[cor5.mat_1==0] <- NA

cor(cor5.mat_1[,-1],use="pairwise.complete.obs")