文字ベクトルを少し切り取ろうとしていて、小さな問題に遭遇しました。特定の位置i + 1の前にあるすべての要素を除外し、最後の要素も除外したいと思います。奇妙なことに、インデックス作成にi + 1を使用すると、新しいベクトルの最後にNAが生成されます。代わりに番号を使用すると、意図したとおりに機能します(例を参照)。
# create character vector
nl <- c(letters[1:10], "excl")
# this produces NAs:
i = 5
nl[i+1:length(nl)-1]
# this works fine
nl[6:length(nl)-1]
なぜこれが起こるのか誰かが説明できますか?インターネットで説明が見つからなかったので、あまり意味がありません。
前もって感謝します!
オペレーターの優先順位のため、()
ブロックに使用します
nl[(i+1):length(nl)-1]
#[1] "e" "f" "g" "h" "i" "j
範囲に減算も含める必要がある場合
nl[(i+1):(length(nl) - 1)]
#[1] "f" "g" "h" "i" "j"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加