2013-09-22 27 views
1

在带命名列的事件矩阵中,我想删除列中只有一列的列。R,事件矩阵,根据列的总和移除命名列

例如在

 a b c 
1  0 1 1 
1  1 0 1 

列c应该被删除。我想这样的想法:

colnames(featureMatrix)[] 

# get column names of 1-cols 
useless <- colnames(matrix)[?] 

# remove columns 
matrix <- matrix[,!colnames(matrix) %in% useless ] 

缺少的是基于列总和的条件。

回答

3
m <- matrix(c(0,1,1,0,1,1),2) 
rownames(m) <- c(1,1) 
colnames(m) <- c("a","b","c") 

m[,colMeans(m)!=1] 
# a b 
# 1 0 1 
# 1 1 0