使用 splitstring 对 R 中的字符串重新排序

标签 r text strsplit

我不知道我做错了什么。我正在尝试对字符串进行重新排序,我能想到的最简单的方法是删除元素,然后使用粘贴将它们放回原处。但我不知道如何删除元素。这是一个字符串:

x <- "the.cow.goes.moo"

但是当我使用

x <- strsplit(x, '[.]')

产生列表“the”“cow”“goes”“moo”。 并尝试使用

删除第二个元素
x <- x[-2]

[x <- x[x != "cow"]

我得到了完全相同的列表。 但是当我将 x 声明为

x <- list("the", "cow", "goes", "moo")

然后

x <- x[-2]

有效!

有什么不同?我究竟做错了什么?另外,有没有更简单的方法来重新排序字符串?

编辑:我刚刚意识到我需要的是“moo.goes.the.cow”,但我需要对许多其他字符串重复相同的更改。所以我需要重新排序元素,并且实际上无法删除它们。我怎样才能做到这一点?

最佳答案

strsplit 返回一个 list 对象。因此,向量x 的每个元素现在将被分解为列表 中的各个部分。以这种方式对列表进行子集化可能会很痛苦,但尽早理解它是有好处的。

在您的示例中,它将是:

x[[1]][-2]

对于您的更新,您可以像这样重新排序:

x[[1]][c(2,1,3,4)] # or whatever order you want.
x[[1]][sample(1:x[[1]],length(x[[1]]))] # randomly even

关于使用 splitstring 对 R 中的字符串重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31602730/

相关文章:

django 和 postgres - 支持希伯来语

r - 从 R 中的字符串中提取不同的单词

python - 如何在 R 或 Python 中制作 3d(4 变量)三元(金字塔)图?

r - 如何一次访问R中的所有子列表元素?

r - 调整ggplot对象中的图例标题位置,R

html - 反转图像标题的颜色

r - 如何使用列名对数据框列进行子集化?

javascript - 改变div的滚动速度

r - R如何根据现有数据创建列/功能

r - 除括号内的内容外,按空格拆分字符串