【发布时间】:2020-08-22 02:19:16
【问题描述】:
我有数百只动物的载体(没有一个重复),我希望“鲸鱼”排在第一位。我不关心任何其他元素的顺序,也不能指定字母顺序之类的东西。我将如何制作这样的东西:
animals <- c("cat", "dog", "whale", "pig", "zebra", "emu")
如下所示,无需重新键入每个元素:
whale_first <- c("whale", "cat", "dog", "pig", "zebra", "emu")
我尝试查看 sort() 和 str_order(),但找不到仅指定第一个元素的方法。此外,在最终答案中,其他动物的顺序无关紧要。我在这里的示例将它们全部按相同的顺序排列,除了鲸鱼,但我会以任何顺序接受所有其他动物。
谢谢!
【问题讨论】:
-
试试
c("whale", setdiff(animals, 'whale')) -
在同一个主题中,当我想以编程方式使用一个或多个执行此操作并且对缺失具有鲁棒性时,我会执行
c(intersect(c("whale", "dolphin"), animals), setdiff(animals, c("whale", "dolphin")))之类的操作。不过,正如@akrun 建议的那样,这确实会删除重复项。
标签: r string sorting vector stringr