簡體   English   中英

更改向量中元素 1:2 的位置

[英]Change position of elements 1:2 in a vector

我有這個向量:

vector_have <- c("A", "B", "C", "A1", "B2", "C3")

[1] "A"  "B"  "C"  "A1" "B2" "C3"

我想得到:

vector_wanted <- c("A1", "A", "B2", "B", "C3", "C")

[1] "A1" "A"  "B2" "B"  "C3" "C" 

我努力了:

sort(vector_have)

[1] "A"  "A1" "B"  "B2" "C"  "C3"

現在我想將每個第二個元素的位置切換到前一個。

我認為它必須用 TRUE、FALSE 迭代地完成。

使用mixed_sort就可以了

gtools::mixedsort(vector_have)
[1] "A1" "A"  "B2" "B"  "C3" "C" 

或者如果它基於位置,另一個選項是matrix

 c(matrix(vector_have, ncol = 3, byrow = TRUE)[2:1,])
[1] "A1" "A"  "B2" "B"  "C3" "C" 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM