我想創建的1:85的序列,但SEQ(1,85,5),不包括數字。所以像這樣:創建數字序列,排除某些數字
2 3 4 5 7 8 9 10 12 13 etc..
什麼將是一個有效的方式來做到這一點在R?
非常感謝!
我想創建的1:85的序列,但SEQ(1,85,5),不包括數字。所以像這樣:創建數字序列,排除某些數字
2 3 4 5 7 8 9 10 12 13 etc..
什麼將是一個有效的方式來做到這一點在R?
非常感謝!
使用setdiff
:
setdiff(1:85,seq(1,85,5))
[1] 2 3 4 5 7 8 9 10 12 ...
(1:85)[-seq(1, 85, 5)]
或者是太明顯/低效?
沒有這麼明顯明顯,我..謝謝,這正是我一直在尋找。 – Rob
我也許應該提到的是,如果你的初始序列的形式'1,2,3,... N'的這一招只適用。它是根據它們在序列中的位置去除元素,而不是根據它們的價值。詹姆斯的答案無論開始的順序如何都適用。 –
如果你要排除的號碼不能一概而論,@HongOoi或@詹姆斯的答案是要走的路。但是,如果他們可以通過一些數學測試描述,Filter
會更有效。
Filter(function(x) x %% 5 != 1, 1:85)
它不工作,看你的輸出,還有一個5 – eyanquenb
@edwardyanquen看序列的'輸出(1,85,5)'。 OP希望排除這些數字。 – Roland
謝謝,我不知道setdiff()之前,它似乎真的很有用。 – Rob