自然语言处理中R中词成分的子串评价
我试图对给定的单词进行一些字符串求值,这样输出就是一个单词的两个字母组合的组成部分列表 乙二醇 “House”变成“ho”,“ou”,“us”,“se” 使用“substr”生成此结果相对容易,如下所示:自然语言处理中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) 然而,我希望能够做到
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)