ifelse()ステートメントの内側と外側で行を実行すると出力が異なる

ボブ

単純なコマンドを実行しようとしていますが、ifelse()関数の内部と外部で実行したときに出力が異なる理由がわかりません関数の条件はと評価されるFALSEため、出力はまったく同じである必要があります。

ただし、単独で実行した場合、出力は0 0 1 1 0 1 0 1 NA(必要に応じて)ですが、ifelse()関数からの出力は0(不要)です。

library(dplyr)
library(zoo)

x <- c(0, 1, 1, 0, 0, 1, 0, 1, 0)
del <- 2

dplyr::lead(zoo::rollsum(x, del - 1, fill = NA, align = "left")) == 0
[1] FALSE FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE    NA

ifelse(del == 1, -1, dplyr::lead(zoo::rollsum(x, del - 1, fill = NA, align = "left")) == 0)
[1] FALSE

なぜこれが起こっているのかについて助けていただければ幸いです!これまでにこのようなものを見たことがありません。の結果は、ifelse()条件がtrueと評価されたかfalseと評価されたかによって長さが異なりますが、なぜこれが長い出力の切り捨てを引き起こすのかわかりません。

G.グロタンディーク

コードはif、ではなく、を使用する必要がありifelseます。?ifelseそれから、次のようになります。のtest最初の引数はどこにありますかifelse

「ifelse」は「test」と同じ形の値を返します

問題testは、del == 1どちらが論理スカラーであるかということです。したがって、結果も1つになります。

また、正のオフセットが先行しているオフセット1、2、...、del-1を参照するrollapplyために使用list(1:(del-1))することできますこれは、後で修正するのではなく、必要なものを直接実装し、使用するパッケージも少ないため、よりクリーンに見えます。

library(zoo)

del <- 2
if (del == 1) -1 else rollapply(x == 0, list(1:(del-1)), all, fill = NA)
## [1] FALSE FALSE  TRUE  TRUE FALSE  TRUE FALSE  TRUE    NA

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Golangの再帰の最も外側の関数でのみステートメントを実行する

分類Dev

ここで、素数以外の場合、内側のループのbreakステートメントは実行されますが、外側のループのelseステートメントは実行されません。なぜですか。

分類Dev

クライアント側でjavaを実行すると、サーバー側でnullPointerExceptionが表示されます

分類Dev

Ifステートメントの内側と外側のリターン

分類Dev

bashスクリプトとターミナルでコマンドを実行すると出力が異なる

分類Dev

関数の外側に戻ります。これはインデントではないと思います (戻り値は関数内にある必要があります! ステートメントでテストすることはできません)

分類Dev

Pythonでifelseステートメントを実行する方法

分類Dev

ReSharperがawaitステートメントとreturnステートメントの行を異なる方法で分割するのはなぜですか?

分類Dev

外側のループが常にリストの次の要素から始まるように、Pythonの内側のリストでネストされたループを実行する方法など。

分類Dev

CSSを使用して境界線の色が異なるHTMLの外側と内側のテーブル

分類Dev

SwiftでのSwitchステートメントの使用-括弧の内側と外側の値のバインド?

分類Dev

ステートメントの実行と関数の実行の異なる動作をgoroutine

分類Dev

ステートメント内でステートメントを実行することは可能ですか?

分類Dev

テストの実行ごとに異なるインメモリデータベースを使用する

分類Dev

テストを異なる順序で実行すると、パフォーマンスが大幅に異なるのはなぜですか?

分類Dev

Swift関数で、関数にforループとifステートメントがループ内に含まれているのに、なぜ 'return'はforループの外側にある必要があるのですか?

分類Dev

ifステートメントの内側ではBash変数が空であるのに、ifステートメントの外側ではないのはなぜですか?

分類Dev

Javascript、ループの外側と内側から文字列値を出力することに違いがないのはなぜですか?

分類Dev

C#6.0で内側の 'finally'と外側の 'when'の実行順序が入れ替わるのはなぜですか?

分類Dev

C#6.0で内側の 'finally'と外側の 'when'の実行順序が入れ替わるのはなぜですか?

分類Dev

C#6.0で内側の 'finally'と外側の 'when'の実行順序が入れ替わるのはなぜですか?

分類Dev

3分ごとに実行するIFELSEステートメント

分類Dev

Bootstrap4行内の右側にリストをフロートさせることができないようです

分類Dev

コンストラクター関数の外側と内側にプロトタイプメソッドを追加する

分類Dev

Python 2 pdb:pdbプロンプトで実行すると、ステートメントの動作が異なります

分類Dev

JavaScript:サーバー側とクライアント側の両方で実行されるDOM依存コードのベストプラクティス?

分類Dev

なぜVimの色がtmuxの内側と外側で異なって見えるのですか?

分類Dev

ifブロックとelseブロックの内側と外側でreturnを使用すると、異なる結果が得られるのはなぜですか?

分類Dev

内側のループがジョブを完了したときに外側のループの実行を停止する

Related 関連記事

  1. 1

    Golangの再帰の最も外側の関数でのみステートメントを実行する

  2. 2

    ここで、素数以外の場合、内側のループのbreakステートメントは実行されますが、外側のループのelseステートメントは実行されません。なぜですか。

  3. 3

    クライアント側でjavaを実行すると、サーバー側でnullPointerExceptionが表示されます

  4. 4

    Ifステートメントの内側と外側のリターン

  5. 5

    bashスクリプトとターミナルでコマンドを実行すると出力が異なる

  6. 6

    関数の外側に戻ります。これはインデントではないと思います (戻り値は関数内にある必要があります! ステートメントでテストすることはできません)

  7. 7

    Pythonでifelseステートメントを実行する方法

  8. 8

    ReSharperがawaitステートメントとreturnステートメントの行を異なる方法で分割するのはなぜですか?

  9. 9

    外側のループが常にリストの次の要素から始まるように、Pythonの内側のリストでネストされたループを実行する方法など。

  10. 10

    CSSを使用して境界線の色が異なるHTMLの外側と内側のテーブル

  11. 11

    SwiftでのSwitchステートメントの使用-括弧の内側と外側の値のバインド?

  12. 12

    ステートメントの実行と関数の実行の異なる動作をgoroutine

  13. 13

    ステートメント内でステートメントを実行することは可能ですか?

  14. 14

    テストの実行ごとに異なるインメモリデータベースを使用する

  15. 15

    テストを異なる順序で実行すると、パフォーマンスが大幅に異なるのはなぜですか?

  16. 16

    Swift関数で、関数にforループとifステートメントがループ内に含まれているのに、なぜ 'return'はforループの外側にある必要があるのですか?

  17. 17

    ifステートメントの内側ではBash変数が空であるのに、ifステートメントの外側ではないのはなぜですか?

  18. 18

    Javascript、ループの外側と内側から文字列値を出力することに違いがないのはなぜですか?

  19. 19

    C#6.0で内側の 'finally'と外側の 'when'の実行順序が入れ替わるのはなぜですか?

  20. 20

    C#6.0で内側の 'finally'と外側の 'when'の実行順序が入れ替わるのはなぜですか?

  21. 21

    C#6.0で内側の 'finally'と外側の 'when'の実行順序が入れ替わるのはなぜですか?

  22. 22

    3分ごとに実行するIFELSEステートメント

  23. 23

    Bootstrap4行内の右側にリストをフロートさせることができないようです

  24. 24

    コンストラクター関数の外側と内側にプロトタイプメソッドを追加する

  25. 25

    Python 2 pdb:pdbプロンプトで実行すると、ステートメントの動作が異なります

  26. 26

    JavaScript:サーバー側とクライアント側の両方で実行されるDOM依存コードのベストプラクティス?

  27. 27

    なぜVimの色がtmuxの内側と外側で異なって見えるのですか?

  28. 28

    ifブロックとelseブロックの内側と外側でreturnを使用すると、異なる結果が得られるのはなぜですか?

  29. 29

    内側のループがジョブを完了したときに外側のループの実行を停止する

ホットタグ

アーカイブ