所以我剛開始使用R,我必須時不時掙扎。 我有刺激的名稱,如這個載體:如何從R中的現有向量(字符)創建兩個向量?
1. abc1.jpg
2. abc2.jpg
3. bcd1.jpg
4. bcd2.jpg
5. cde1.jpg
6. cde2.jpg
現在的第一個條目對應於圖片左邊,在右邊的第二位。我想創建兩個名爲「左」和「右」的向量,其中「左」向量由條目1,3,5,7,9 ...組成(直到300),右邊總是(2,4,6 ...)
我該怎麼做? 在此先感謝!
所以我剛開始使用R,我必須時不時掙扎。 我有刺激的名稱,如這個載體:如何從R中的現有向量(字符)創建兩個向量?
1. abc1.jpg
2. abc2.jpg
3. bcd1.jpg
4. bcd2.jpg
5. cde1.jpg
6. cde2.jpg
現在的第一個條目對應於圖片左邊,在右邊的第二位。我想創建兩個名爲「左」和「右」的向量,其中「左」向量由條目1,3,5,7,9 ...組成(直到300),右邊總是(2,4,6 ...)
我該怎麼做? 在此先感謝!
vec <- 1:10 # an example vector with the numbers from 1 to 10
vec[c(TRUE, FALSE)]
# [1] 1 3 5 7 9
vec[c(FALSE, TRUE)]
# [1] 2 4 6 8 10
短索引向量,例如,c(TRUE, FALSE)
被再循環直至其長度的矢量vec
的長度相匹配。
非常好。我只是用'vec < - letters [1:10]'試了一下',它也起作用了。 –
作品,謝謝! – roscoe1895
x <- c('a','b','c','d','e','f','g','h')
x.odd <- x[(1:length(x) %% 2)==1] ; x.odd
#[1] "a" "c" "e" "g"
x.even <- x[(1:length(x) %% 2)==0] ; x.even
#[1] "b" "d" "f" "h"
這也適用,非常感謝:) – roscoe1895
嘗試'stringr'中的'str_split'。 –
或者'strsplit'! – Justin
如果'vec'是你的矢量,你也可以這樣做: 'lft <-vec [seq(1,length(vec),2)]'和 '' - vec [seq(2,length ),2)]' – Ben