我在141个变量上使用cor()
生成了一个大矩阵。我想生成相关的直方图,因此需要将较低或较高的对角线值拉出到矢量中。
我的数据如下:
AD02_1083 CD02_1083 AD03_1083 CD03_1083
AD02_1083 1.000 0.998 0.997 0.993
CD02_1083 0.998 1.000 0.993 0.992
AD03_1083 0.997 0.993 1.000 0.997
CD03_1083 0.993 0.992 0.997 1.000
我想系统地浏览一个大矩阵并抓住这样我将创建一个由c(0.998, 0.997, 0.993, 0.993, 0.992, 0.997)
组成的向量,以便我可以检查这些相关的直方图。
我想过从i + 1到141开始循环遍历每一列,然后抓住这样的循环:
my_vec <- vector()
for (i in 2:length(colnames(test))){
my_vec <- c(my_vec,test[1:i-1,i])
}
这很有用,虽然我不需要标签。
>my_vec
AD02_1083 CD02_1083 AD02_1083 CD02_1083 AD03_1083
0.998 0.997 0.993 0.993 0.992 0.997
有更优雅的方法吗?
数据:
structure(c(1, 0.998, 0.997, 0.993, 0.998, 1, 0.993, 0.992, 0.997,
0.993, 1, 0.997, 0.993, 0.992, 0.997, 1), .Dim = c(4L, 4L), .Dimnames = list(
c("AD02_1083", "CD02_1083", "AD03_1083", "CD03_1083"), c("AD02_1083",
"CD02_1083", "AD03_1083", "CD03_1083")))