删除R中矩阵中高度相同的列
来自删除R中矩阵中高度相同的列,r,R,来自 data <- matrix(rnorm(100),10,10) row.names(data) <- c(1:10) colnames(data) <- letters[1:10] corr <- cor(data, method="spearman") corr.a <- corr[rownames(corr)=="a", ,drop=FALSE] data您可以使用drop=T(默认设置)对1x10corr.a矩阵进行列索引,以获得保留名称的
data <- matrix(rnorm(100),10,10)
row.names(data) <- c(1:10)
colnames(data) <- letters[1:10]
corr <- cor(data, method="spearman")
corr.a <- corr[rownames(corr)=="a", ,drop=FALSE]
data您可以使用drop=T
(默认设置)对1x10corr.a
矩阵进行列索引,以获得保留名称的向量。然后,您可以使用该向量执行所需的数据列删除操作
:
set.seed(4);
data <- matrix(rnorm(100),10,10);
row.names(data) <- 1:10;
colnames(data) <- letters[1:10];
corr <- cor(data,method='spearman');
corr.a <- corr[rownames(corr)=='a',,drop=F];
corr.a.sig <- corr.a[,corr.a>0.4];
corr.a.sig;
## a f
## 1.0000000 0.4787879
data[,!colnames(data)%in%names(corr.a.sig)];
## b c d e g h i j
## 1 0.56660450 1.5408150 0.1534642 1.34370863 -1.0685231 0.15867690 1.2869283 -1.27765990
## 2 0.01571945 0.1651690 1.0519326 0.18153538 1.0644507 -0.48566507 -0.2141497 -0.79801248
## 3 0.38305734 1.3076224 -0.7542112 1.29251234 -1.3127218 -0.95890607 -0.5747455 0.15908242
## 4 -0.04513712 1.2882569 -1.4821891 -1.68804858 2.0636947 0.18051729 -1.4707270 0.61479763
## 5 0.03435191 0.5928969 0.8611319 -0.82099358 0.1313830 0.72173428 -1.0327384 0.68794796
## 6 0.16902677 -0.2829437 -0.4045198 -0.86214614 -0.2316884 -0.36954048 -1.3065249 -0.04705101
## 7 1.16502684 1.2558840 -0.2274054 0.09884369 -0.3973555 0.23753831 -0.8382524 2.33032168
## 8 -0.04420400 0.9098392 0.9340962 -0.37565514 0.8894321 -0.66592211 -1.1306537 -0.57756599
## 9 -0.10036844 -0.9280281 -0.4658959 0.72390416 0.5261690 -0.79680751 0.3687482 0.96847913
## 10 -0.28344457 1.2401808 -0.6375435 -1.79738202 -0.1712732 -0.05169693 -0.2018030 -0.27753563
set.seed(4);
数据
set.seed(4);
data <- matrix(rnorm(100),10,10);
row.names(data) <- 1:10;
colnames(data) <- letters[1:10];
corr <- cor(data,method='spearman');
corr.a <- corr[rownames(corr)=='a',,drop=F];
corr.a.sig <- corr.a[,corr.a>0.4];
corr.a.sig;
## a f
## 1.0000000 0.4787879
data[,!colnames(data)%in%names(corr.a.sig)];
## b c d e g h i j
## 1 0.56660450 1.5408150 0.1534642 1.34370863 -1.0685231 0.15867690 1.2869283 -1.27765990
## 2 0.01571945 0.1651690 1.0519326 0.18153538 1.0644507 -0.48566507 -0.2141497 -0.79801248
## 3 0.38305734 1.3076224 -0.7542112 1.29251234 -1.3127218 -0.95890607 -0.5747455 0.15908242
## 4 -0.04513712 1.2882569 -1.4821891 -1.68804858 2.0636947 0.18051729 -1.4707270 0.61479763
## 5 0.03435191 0.5928969 0.8611319 -0.82099358 0.1313830 0.72173428 -1.0327384 0.68794796
## 6 0.16902677 -0.2829437 -0.4045198 -0.86214614 -0.2316884 -0.36954048 -1.3065249 -0.04705101
## 7 1.16502684 1.2558840 -0.2274054 0.09884369 -0.3973555 0.23753831 -0.8382524 2.33032168
## 8 -0.04420400 0.9098392 0.9340962 -0.37565514 0.8894321 -0.66592211 -1.1306537 -0.57756599
## 9 -0.10036844 -0.9280281 -0.4658959 0.72390416 0.5261690 -0.79680751 0.3687482 0.96847913
## 10 -0.28344457 1.2401808 -0.6375435 -1.79738202 -0.1712732 -0.05169693 -0.2018030 -0.27753563