ngrams的顺序不正确

ngrams的顺序不正确,r,string,n-gram,R,String,N Gram,我有兴趣查找字符串的ngrams。我使用ngramR包来获取ngram。我用下面的句子来完成我的工作 library(ngram) ng <- ngram(x,n=2) ngrams_out = get.ngrams(ng) ngrams_final <- gsub(" ", "",ngrams_out , fixed = TRUE) # "CG" "TG" "AT" "GC" "CC" "GT" ## ngrams 库(ngram) ng不知道ngramngram但是你

我有兴趣查找字符串的
ngrams
。我使用
ngram
R
包来获取
ngram
。我用下面的句子来完成我的工作

library(ngram)    
ng <- ngram(x,n=2)
ngrams_out = get.ngrams(ng)
ngrams_final <-  gsub(" ", "",ngrams_out , fixed = TRUE)
# "CG" "TG" "AT" "GC" "CC" "GT" ## ngrams
库(ngram)

ng不知道ngram
ngram
但是你应该像这样产生输出

x= "A T G C C G C G T"
strsplit(gsub("(\\S)(?=\\s(\\S))|\\s+\\S$", "\\1\\2", x, perl=T), " ")[[1]]
# [1] "AT" "TG" "GC" "CC" "CG" "GC" "CG" "GT"

不知道ngram的相关信息,但您应该像这样生成输出

x= "A T G C C G C G T"
strsplit(gsub("(\\S)(?=\\s(\\S))|\\s+\\S$", "\\1\\2", x, perl=T), " ")[[1]]
# [1] "AT" "TG" "GC" "CC" "CG" "GC" "CG" "GT"

我们可以
扫描字符串“x”以获得单个字符,然后
将相邻元素粘贴在一起

 v1 <- scan(text=x, what='')
 paste0(v1[-length(v1)], v1[-1])
 #[1] "AT" "TG" "GC" "CC" "CG" "GC" "CG" "GT"

v1我们可以
扫描字符串“x”以获得单个字符,然后
将相邻元素粘贴在一起

 v1 <- scan(text=x, what='')
 paste0(v1[-length(v1)], v1[-1])
 #[1] "AT" "TG" "GC" "CC" "CG" "GC" "CG" "GT"

v1文本分析软件包quanteda具有强大的ngram生成器:

require(quanteda)
unlist(tokenize("A T G C C G C G T", ngrams = 2, concatenator = ""))
## [1] "AT" "TG" "GC" "CC" "CG" "GC" "CG" "GT"

在这里,我已将从
tokenize()
返回的tokenizedText类对象(一种列表类型)转换为所需的简单向量。

文本分析包quanteda具有强大的ngram生成器:

require(quanteda)
unlist(tokenize("A T G C C G C G T", ngrams = 2, concatenator = ""))
## [1] "AT" "TG" "GC" "CC" "CG" "GC" "CG" "GT"

这里,我已经将从
tokenize()
返回的tokenizedText类对象(一种列表类型)转换为您想要的简单向量。

关于
x=“atgccgct”
如果我想要同时拥有三个或四个或更多的组合,比如
ATG、TGC、GCC、CCG、CGC、CGT
或者
ATGC、TGCC、GCG、ccgcg、CGCG,GCGT
x=“ATGCCGT”
如果我想同时拥有三个或四个或更多的组合,比如
ATG、TGC、GCC、CCG、CGC、GCG、CGT
或者
ATGC、TGCC、GCCG、CCGC、CGC、GCGT,那该怎么办呢。您的答案也适用于字符串,如
x=“atgccgct”
@AaghazHussain您可以使用
v1如果我不使用这一行,是否有任何副作用。@AaghazHussain的想法是将字符串拆分为单个字符。在第一种情况下,已经有一个分隔符,即空格。在这里,所有字符都连接在一起。假设您有
x谢谢您的解释。谢谢。您的答案也适用于字符串,如
x=“atgccgct”
@AaghazHussain您可以使用
v1如果我不使用这一行,是否有任何副作用。@AaghazHussain的想法是将字符串拆分为单个字符。在第一种情况下,已经有一个分隔符,即空格。在这里,所有字符都连接在一起。假设您有
x,谢谢您的解释。