2011-04-21 46 views

回答

10

通過rep()創建一個適當的索引:

R> foo <- 1:10 
R> foo 
[1] 1 2 3 4 5 6 7 8 9 10 
R> ind <- rep(c(FALSE, TRUE), each=3) 
R> ind 
[1] FALSE FALSE FALSE TRUE TRUE TRUE 
R> foo[ind] <- NA 
R> foo 
[1] 1 2 3 NA NA NA 7 8 9 NA 
R> 

回收在這裏幫助你,你創造了被通常總是根據需要爲數據向量的索引。

編輯:上面還顯示ind

0

我認爲有更好的辦法,但我錯了,正如德克指出的那樣。下面我確定了我的答案,但我的情況比德克的答案差。

foo[c(seq(4,length(foo),6),seq(5,length(foo),6),seq(6,length(foo),6))] <- NA 

如果真的是一個數據幀,那麼你必須指定要aplly並使用另一個命令來獲得元素數量的行(如暗淡(DAT)[1])。

+0

這個答案是錯誤的。你正在設置**單個**元素,OP要求三個塊。 – 2011-04-21 19:18:45

+0

@Dirk,你是對的!抱歉。我會編輯我的答案。 – 2011-04-21 20:36:55

相關問題