作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个我命名为 N 的稀疏矩阵:
4 x 4 sparse Matrix of class "dgCMatrix"
C1 C2 C3 C4
V1 . 3 5 2
V2 . 5 1 .
V3 . . . .
V4 . . 4 .
C1 C2 C3 C4
V1 . 3 5 2
#iterate on rows and count:
#how many values in row ri are bigger than 0
# if count is not bigger than limit, remove row ri
limit = 3
for(ri in 1:nrow(N)){
count <- length(which(N[ri,]>0))
if (count <limit){
tmp <- paste("V",ri,sep="")
rmv <- paste (rmv, tmp, sep= " ")
}
}
#now remove specific row names
N <- N[!rownames(N) %in% rmv, ]
"object 'rmv' not found"
rmv <- ""
> rmv
[1] " V2"
N <- N[!rownames(N) %in% rmv, ]
最佳答案
假设您的稀疏矩阵称为 N
,这应该这样做:
N[rowSums(as.matrix(N) == 0) < 2, ]
?xtabs
的一些数据的小例子:
d.ergo <- data.frame(Type = paste0("T", rep(1:4, 9*4)),
Subj = gl(9, 4, 36*4))
set.seed(15) # a subset of cases:
N <- xtabs(~ Type + Subj,
data = d.ergo[sample(36, 10), ],
sparse = TRUE)
N
# 4 x 9 sparse Matrix of class "dgCMatrix"
# 1 2 3 4 5 6 7 8 9
# T1 . 1 . 1 . 1 . 1 .
# T2 1 . . . . . 1 . 1
# T3 . . . . 1 . . . .
# T4 1 . . . . . 1 . .
rowSums(as.matrix(N) == 0) ## How many missing
# T1 T2 T3 T4
# 5 6 8 7
## Let's remove any with more than 7 missing
N[rowSums(as.matrix(N) == 0) < 7, ]
# 2 x 9 sparse Matrix of class "dgCMatrix"
# 1 2 3 4 5 6 7 8 9
# T1 . 1 . 1 . 1 . 1 .
# T2 1 . . . . . 1 . 1
关于按行名删除一堆行 - 如何在 R 中初始化空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18185821/
我是一名优秀的程序员,十分优秀!