【发布时间】:2013-03-22 15:54:41
【问题描述】:
我有一个值矩阵,每行排列在不同的列中。 我想让我的代码做什么:
- 遍历一行 -> 检查列的值是否
- 在行内,如果有 80% 的列满足该条件,则保留该行;否则删除整行。
到目前为止的代码:
myfilt <- function(t,x){
if ((length(which(t[x,] > 1)) / 60) >= 0.8){
return(1)
}else{
return(0)
}
}
y=c()
for(i in 1:length(t[,1])){
y = c(y,myfilt(t,i))
}
但是当我打印 t[v,] 时,所有行都具有相同的值:(
不知道我做错了什么。另外,如果有更短的方法可以做到这一点,请告诉我。
附: : 这里的 't' 是我正在测试的矩阵的名称
【问题讨论】:
标签: r if-statement for-loop rows