首页 > 解决方案 > 更改向量中特定值的位置

问题描述

我确定有人已经以其他方式提出了这个问题,但我无法找到它。

我想更改向量中特定值的位置。在下面的示例中,我将“eigth”放在位置 4。

vector<-c("one","two","three","four","five","six","seven","eight","nine","ten")
vector
# [1] "one"   "two"   "three" "four"  "five"  "six"   "seven" "eight" "nine"  "ten" 

vector<-vector[c(1:3,8,4:7,9:10)]
vector
# [1] "one"   "two"   "three" "eight" "four"  "five"  "six"   "seven" "nine"  "ten"  

当操作频繁时,它变得令人厌烦。我想以一种非常有效和优雅的方式做到这一点。

对相关帖子的此响应提供了一个有用的功能,可以重新排列数据框中的列顺序,但通常不适用于向量。像这样的向量会非常好:

arrange.vect(vector, c("eigth"=4))
# [1] "one"   "two"   "three" "eight" "four"  "five"  "six"   "seven" "nine"  "ten"  

是否有任何功能可以在某处执行此操作,或者有任何想法可以很容易地执行此操作?

标签: rvector

解决方案


您可以使用append 来更改向量中特定值的位置

append(vector[-8], vector[8], 3)
# [1] "one"   "two"   "three" "eight" "four"  "five"  "six"   "seven" "nine"  "ten"  

推荐阅读