I have this vector:

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

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

I would like to get:

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

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

I have tried:

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" 

R相关问答推荐

在数据表中呈现数学符号

在垂直轴中包含多个ggplot2图中的平均值

用值序列对行进行子集化,并标识序列开始的列

R函数,用于生成伪随机二进制序列,其中同一数字在一行中不出现超过两次

提取一个列表中单个列的重复观察结果R

计算满足R中条件的连续列

您是否可以折叠R中的重复行,同时保留基于所选列的值?

DEN扩展包中的RECT树形图出现异常行为

按多列统计频次

更改STAT_VALLES/STAT_PEAKS中的箭头线宽/大小

计算直线上点到参考点的总距离

如何在使用箭头R包(箭头::OPEN_DATASSET)和dplyr谓词时编写具有整齐计算的函数?

为什么在写入CSV文件时Purrr::Pwalk不起作用

如何在内联代码中添加额外的空格(R Markdown)

策略表单连接两个非常大的箭头数据集,而不会 destruct 内存使用

如何将字符类对象中的数据转换为R中的字符串

识别部分重复行,其中一行为NA,其重复行为非NA

根据向量对列表元素进行排序

向内存不足的数据帧添加唯一行

根据部分名称匹配获取多组列的行求和