2
R
には、整数値を持つベクトルがあり、複数の値に対して剰余なしで割り切れるようにチェックされます。モジュロをベクトル化する方法は?
v <- c(3, 4, 10, 11, 12)
v %% 4 == 0 | v %% 10 == 0 #... this might include 100 checks or more
私は、マトリックスまたは類似した何かを返すことがあります。この(のようなv %% c(4, 10)
)のベクトル化を探しています。
私はそれを行うことができます機能をプログラムしますが、すでに私が代わりに再びそれを「再発明」の再利用可能な機能が存在するのだろうか。
`%V%` <- function(x, y){
ret <- matrix(nrow = length(x), ncol = length(y))
for(i in 1:ncol(ret)){
ret[, i] <- x %% y[i]
}
return(ret)
}
v %V% c(4, 10)
私の当初の目的のために私は今apply(v %V% c(4, 10), 1, function(x) any(x == 0))
を実行するかに応じて、私の機能を変更することになります。
をあなたは単に 'sapply(C(4、10)を行うことができます与え
、function(i)v %% i) ' – Sotos
または:外部(v、c(4,10)、 '%%')' – Jaap