私はそのようなループを生成したいと思います:
group1 = c(1,3,7,25)
for (ii in 1:25){
if (ii == any(group1)){test = 5} else {test=1}
}
'double' 型の引数を論理型に強制することに関する警告が表示されます。その結果、else ステートメントのみが使用されています。それはどういう意味ですか、どうすれば修正できますか? ありがとうございました。
私はそのようなループを生成したいと思います:
group1 = c(1,3,7,25)
for (ii in 1:25){
if (ii == any(group1)){test = 5} else {test=1}
}
'double' 型の引数を論理型に強制することに関する警告が表示されます。その結果、else ステートメントのみが使用されています。それはどういう意味ですか、どうすれば修正できますか? ありがとうございました。
あなたが何を望んでいるかは正確には明らかではありません。もしかして
test <- c(1,5)[1+(1:25) %in% group1]
次と同じ結果:
test <- ifelse( 1:25 %in% group1, 5, 1)
オーケー、for
ルーピーバージョンも作ります:
test <- integer(25)
for (ii in 1:25){
if (ii %in% group1){test[ii] <- 5} else {test[ii] <- 1}
}
test
あなたは間違った機能を使用しています
any(iterable)
iterable のいずれかの要素が true の場合、True を返します。iterable が空の場合、False を返します。