我試圖用NAs替換總和爲零的矢量中的所有元素組。 每個組的大小爲3。例如:r - 替換矢量中的元素組
a = c(0,0,0,0,2,3,1,0,2,0,0,0,0,1,2,0,0,0)
應該是最後:
c(NA,NA,NA,0,2,3,1,0,2,NA,NA,NA,0,1,2,NA,NA,NA)
到現在爲止,我已經成功地通過找到具有相等的總和組零:
b = which(tapply(a,rep(1:(length(a)/3),each=3),sum) == 0)
其產生c(1,4,6)
我然後計算通過:b <- b*3-2
開始向量中組的索引。 也許有一種更優雅的方式,但這是我迄今縫合在一起的東西。 現在我被困在「擴展」開始索引的向量中,以生成要被替換的元素序列。例如,如果向量b
現在包含c(1,10,16)
,則需要一個序列c(1,2,3,10,11,12,16,17,18)
,這些元素是要由NAs替換的元素的索引。 如果您對沒有for
循環的解決方案有任何想法,或者對於整個問題甚至是更簡單/優雅的解決方案,我都會很感激。謝謝。
馬呂斯
是。那就是訣竅。謝謝。 – Marius 2014-09-25 09:50:35