You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言中如何将长字符串分割为连续双词短语?

生成连续双词短语的R实现方法

基础R解决方案(无需额外包)

针对你的需求,不用str_split,可以通过拆分单词向量后滑动拼接的方式实现:

string <- "A B C D E F"

# 将字符串拆分为单个单词的向量
words_vector <- unlist(strsplit(string, " "))

# 生成连续双词组合
bigrams <- paste(words_vector[-length(words_vector)], words_vector[-1], sep = " ")

# 输出结果
bigrams

运行后会得到:

[1] "A B" "B C" "C D" "D E" "E F"

代码说明

  • strsplit(string, " ")按空格拆分字符串,得到一个列表,unlist()把它转为便于操作的向量。
  • words_vector[-length(words_vector)]取向量中除最后一个元素外的所有单词,words_vector[-1]取除第一个元素外的所有单词,两者位置一一对应,用paste()拼接就生成了连续的双词短语。

用tidytext包实现(适合文本分析场景)

如果后续需要做更多文本分析工作,推荐用tidytext包的unnest_tokens函数,专门处理n元短语:

library(tidytext)
library(dplyr)

# 构造数据框并提取双词短语
tibble(text = string) %>%
  unnest_tokens(bigram, text, token = "ngrams", n = 2) %>%
  pull(bigram)

这段代码同样会输出你需要的连续双词短语,且能无缝衔接tidyverse生态的后续分析操作。

内容的提问来源于stack exchange,提问作者swediot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:41:42