ifelse が機能するはずの方法を誤解しているのかもしれません...次のようなテーブルがいくつかあります(ただし、はるかに長い):
Lean Turned Turn attempts
[1,] 11 1 2
[2,] 16 2 2
[3,] 41 2 2
[4,] 38 2 2
[5,] 17 2 2
[6,] 43 4 4
1つはXと呼ばれ、ソートされていないものはL1LLwholeと呼ばれ、Xと同じですが、「リーン」列でソートされています
L1LLwhole <-X[order(X[,1]),]
今、私は goForL1 という名前のリストを作成しています。これは、ターン試行回数が 2 または 4 であるリストのサブセットです。最初に、少なくとも 1 つが 2 または 4 であることを確認します。そうしないと、エラーが発生します。
ifelse(any((X[order(X[,1]),3]==2) | (X[order(X[,1]),3]==4)),
L1LLwhole[(X[order(X[,1]),3]==2) |
(X[order(X[,1]),3]==4),],0)->goForL1
ここで奇妙なのは、テストが TRUE と評価され、引数 1 がテーブルに評価された場合でも、ステートメント全体の結果が「11」になることです。
ifelse は正確な引数をそのまま返すことになっていませんか?