使用stri_count_fixed with overlap = TRUE返回错误的参数数量错误

时间:2014-10-29 21:05:51

标签: regex r string dna-sequence stringi

今天我看到一篇关于stringi包的新添加的新帖子,你可以在其中添加参数"overlap=TRUE"到一些stringi搜索函数。

这是post

但是,我已经尝试了bartektartanus建议的确切代码(从安装到示例),当我运行它时,我得到错误数量的参数(3)的错误,期望'stri_count_fixed'为2

> library("stringi", lib.loc="D:/Program Files/RRO/R-3.1.1/library")
> DNAlst<-list("CAAACTGATTTT","GATGAAAGTAAAATACCG","ATTATGC","TGGA","CGCGCATCAA")
> dna <- stri_paste(rep(c("A","C","G","T"),each=4),c("A","C","G","T"))
> result <- t(sapply(DNAlst, stri_count_fixed,pattern=dna,overlap=TRUE))
Error in .Call("stri_count_fixed", str, pattern, overlap, PACKAGE = "stringi") : 
  Incorrect number of arguments (3), expecting 2 for 'stri_count_fixed'
> colnames(result) <- dna
Error in colnames(result) <- dna : object 'result' not found

我想知道这是不是因为这是真的很新,或者我做错了什么。

Devtools版本:1.6
Stringi版本:0.3-1
R版本= 3.1.1(RRO 8.0 beta)
在Windows 8.1上运行64位

2 个答案:

答案 0 :(得分:0)

你可能安装错了。这种重叠有单独的分支。新的stringi版本0.3很快就会发布,并且还没有包含重叠:)但是当我们正确测试时它将是0.4版本。所以现在,从这个分支安装它:fixed_overlap

library('devtools') # call install.packages('devtools') first
install_github('Rexamine/stringi', ref = "fixed_overlap")

答案 1 :(得分:0)

问题发生是因为R试图找到Rtools,但事实并非如此。系统快捷方式错误。你需要Rtools才能正确执行devtools。 可悲的是,当我做一些与Rtools和devtools大声无关的事情时,我想出了这个......

> library("devtools", lib.loc="D:/Program Files/RRO/R-3.1.1/library")
WARNING: Rtools is required to build R packages, but the version of Rtools previously
installed in F:/Program Files/Rtools has been deleted.

从这个cran link重新安装Rtools后,该程序按原样运行。

但是,安装此版本的stringi需要将近半个小时才能完成。