自然语言处理中R中词成分的子串评价

自然语言处理中R中词成分的子串评价,r,function,nlp,substring,R,Function,Nlp,Substring,我试图对给定的单词进行一些字符串求值,这样输出就是一个单词的两个字母组合的组成部分列表 乙二醇 “House”变成“ho”,“ou”,“us”,“se” 使用“substr”生成此结果相对容易,如下所示: y= 'house' substr(y, start = 1, stop = 2) substr(y, start = 2, stop = 3) substr(y, start = 3, stop = 4) substr(y, start = 4, stop = 5) 然而,我希望能够做到

我试图对给定的单词进行一些字符串求值,这样输出就是一个单词的两个字母组合的组成部分列表

乙二醇

“House”变成“ho”,“ou”,“us”,“se”

使用“substr”生成此结果相对容易,如下所示:

y= 'house'

substr(y, start = 1, stop = 2)
substr(y, start = 2, stop = 3)
substr(y, start = 3, stop = 4)
substr(y, start = 4, stop = 5)
然而,我希望能够做到的是,几乎是递归地这样做,这样任何长度的单词都将被输出到它的组件2字母组合中

所以“汽车”变成了“mo”,“ot”,“to”,“or”,“rc”,“ca”,“ar”。等等

有没有一种方法可以使用循环或函数来实现?单词的长度是否需要作为函数的条件


非常感谢您的任何想法。

我们可以使用
子字符串

get_string <- function(x) {
   inds <- seq_len(nchar(x))
   start = inds[-length(inds)]
   stop = inds[-1]
   substring(x, start, stop)
}

get_string('House')
#[1] "Ho" "ou" "us" "se"

get_string('Motorcar')
#[1] "Mo" "ot" "to" "or" "rc" "ca" "ar"

get_string这太棒了@Ronak Shah。我马上就能看到这里发生了什么。非常感谢。如何将其应用于数据帧中的一列字,以便每个字都通过函数传递?@jimiclapton您可以使用
sapply
sapply(df$column,get_string)