結果の要素がいくつ条件を満たしているかを数えるためのより良い方法はありますか?
a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
u <- a > b
length(u[u == TRUE])
## [1] 7
結果の要素がいくつ条件を満たしているかを数えるためのより良い方法はありますか?
a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
u <- a > b
length(u[u == TRUE])
## [1] 7
sumはこれを直接行い、論理ベクトル内のTRUE値の数をカウントします。
sum(u, na.rm=TRUE)
そしてもちろん、これのためにuを構築する必要はありません:
sum(a > b, na.rm=TRUE)
同様に機能します。 値のいずれかがである場合、デフォルトでsum
戻ります。 合計の値を無視します(論理または数値の場合)。NA
NA
na.rm=TRUE
NA
私はいつもこれにテーブルを使用しました:
a <- c(1:5, 1:-3, 1, 2, 3, 4, 5)
b <- c(6:-8)
table(a>b)
FALSE TRUE
8 7
またはz
のみで構成されている場合は、単にTRUE
FALSE
length(which(z))