3
我試圖將序列1的向量替換爲100,這樣在每3個元素之後,接下來的2被替換爲0。例如:如何在R中定期更換序列中的向量值?
a<-1:20
我希望它是這樣的:
a <- c(1, 2, 3, 0, 0, 6, 7, 8, 0, 0, 11, 12, 13, 0, 0, 16, 17, 18, 0, 0)
是有辦法來自動做到這一點?
感謝您的幫助
我試圖將序列1的向量替換爲100,這樣在每3個元素之後,接下來的2被替換爲0。例如:如何在R中定期更換序列中的向量值?
a<-1:20
我希望它是這樣的:
a <- c(1, 2, 3, 0, 0, 6, 7, 8, 0, 0, 11, 12, 13, 0, 0, 16, 17, 18, 0, 0)
是有辦法來自動做到這一點?
感謝您的幫助
我們可以使用rep
與循環邏輯載體,在特定的位置賦值爲0
a[rep(c(FALSE, TRUE), c(3,2))] <- 0
a
#[1] 1 2 3 0 0 6 7 8 0 0 11 12 13 0 0 16 17 18 0 0
還有一種方法,使用了序列()
x<-1:20
start_<-4
step_<-5
myseq<-seq(start_,20,by=step_)
x[c(myseq,myseq+1)]<-0
x
# [1] 1 2 3 0 0 6 7 8 0 0 11 12 13 0 0 16 17 18 0 0