行ごとに異なる列に配置された値のマトリックスがあります。私のコードでやりたいこと:
- 行を反復処理 -> 列の値 < しきい値 (例: 1) かどうかを確認します
- 行内で、その条件を満たす列が 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,]
すべての行を同じ値で印刷すると:(何が間違っているのかわかりません。また、これを行うためのより短い方法がある場合は、お知らせください。
PS:ここで「t」は私がテストしているマトリックスの名前です