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