2017-10-08 75 views
1

如何在R中創建這種數組?使用條件創建矢量

iii <- seq(from = 1, to = 49, by = 2) 

這隻創造價值:

1 3 5 .. 49 

的數組,我需要創建:

1, 0, 3, 0, 5, 0, 7, . . . , 0, 49 

回答

1

使用:

x <- 1:11 
x * (x %% 2) 

給出:

[1] 1 0 3 0 5 0 7 0 9 0 11 

這個作用:

  • x %% 2創建的x和不均勻值零對的x的偶數值一個人的矢量。
  • 乘以xx %% 2因此給出了具有介於零之間的不均勻值的向量。

基於@lmo的建議,你也可以這樣做:

x <- seq(1, 11, 2) 
head(rep(x, each = 2) * (1:0), -1) 

這將給予同樣的結果。

+1

@lmo不錯的選擇!您需要刪除最後一個值,以獲得所需的結果(請參閱更新) – Jaap

+1

@ lmo true&fixed – Jaap