r 指定向量中的第一个元素

标签 r string sorting vector stringr

我有一个由数百种动物组成的向量(没有一个重复),我希望“鲸鱼”成为第一个。我不关心任何其他元素的顺序,也无法指定字母顺序之类的内容。我该如何制作这样的东西:

animals <- c("cat", "dog", "whale", "pig", "zebra", "emu")

看起来像这样,无需重新输入每个元素:

whale_first <- c("whale", "cat", "dog", "pig", "zebra", "emu")

我尝试查看 sort() 和 str_order(),但找不到仅指定第一个元素的方法。此外,在最终答案中,其他动物的顺序并不重要。我在这里的示例使它们保持相同的顺序,除了鲸鱼,但我会接受任何顺序的所有其他动物。

谢谢!

最佳答案

单行是setdiff(假设没有重复)

c("whale", setdiff(animals, 'whale'))

如果有重复,请使用vsetdiff

library(vecsets)
c("whale", vsetdiff(animals, 'whale'))

关于r 指定向量中的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61646735/

相关文章:

string - 从文件名和创建目录中读取的批处理文件

c++ - 错误 C2893 : Failed to specialize function template C++

Android ListView 不排序

r - R 中的热图 "How I can reduce the size of the letters?"

返回 R 中 grep 的原始搜索项

r - 具有不同类型的多个重复列的从宽格式到长格式的数据整理

r - 如何将等值面夹到球上?

php - 将字符串转换为 int php

python - 如何根据层次结构对数据进行排序

c++ - 如何根据不寻常数字的数量对数组进行排序