在R中连接字符串

时间:2013-10-24 13:17:25

标签: r

我有以下列表。

l=list("home car train", "remote TV helicopter", "grenade hello")

我的目标是按字母顺序设置列表中每个项目的单词。 意思是,在这种情况下请求的结果将是:

"car home train", "helicopter TV remote", "hello grenade"

起初我使用 strsplit 分隔每个字符串中的单词:

l2<-lapply(l,function(x){as.character(sort(unlist(strsplit(as.character(x), "\\ "))))})

在此步骤之后,我不确定如何将每个项目的不同排序值连接到请求的列表格式。 (到目前为止,粘贴功能没有运气)

1 个答案:

答案 0 :(得分:7)

拆分单词,排序并粘贴在一起

lapply(strsplit(unlist(l), " "),
       function(x) paste(sort(x), collapse=" "))

输出

[[1]]
[1] "car home train"

[[2]]
[1] "helicopter remote TV"

[[3]]
[1] "grenade hello"

使用unlist(l)l从列表转换为strsplit所需的字符向量。

strsplit将输出一个列表,其中每个元素都是l元素中单词的向量。 sort每个向量,然后通过设置paste collapse=" "将所有元素放在一起。