Как переключить каждые два элемента вектора в R? - PullRequest
2 голосов
/ 09 января 2020

Например, у меня есть следующий вектор:

FOL.2. FOL TAL.2. TAL BOR.2. BOR HAD.2. HAD ITA.2. ITA NOR.2. NOR

Мне нужно, чтобы вектор был следующим:

FOL FOL.2. TAL TAL.2. BOR BOR.2. HAD HAD.2. ITA ITA.2. NOR NOR.2.

Я пытался sort(myvector), но он не работает , В основном мне нужно поменять положение каждых двух элементов в векторе. Любой совет приветствуется.

Ответы [ 2 ]

4 голосов
/ 09 января 2020

Другое решение

x[1:length(x) + c(1, -1)]

Операция в [] преобразует 1, 2, 3, 4, 5, 6 в 2, 1, 4, 3, 6, 5.

1 голос
/ 09 января 2020

Один из вариантов - создать матрицу, а затем принудительно

c(matrix(v1, nrow = 2)[2:1,])
#[1] "FOL"    "FOL.2." "TAL"    "TAL.2." "BOR"    "BOR.2." "HAD"    "HAD.2." "ITA"    "ITA.2." "NOR"    "NOR.2."

data

v1 <- scan(text = "FOL.2. FOL TAL.2. TAL BOR.2. BOR HAD.2. HAD ITA.2. ITA NOR.2. NOR", what = "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...