自最新的R更新后,我得到了Note
summary.xmlImport:'median'没有可见的全局函数定义
在CRAN检查.进一步注意到参考read.table,write.table并且在R以外的标准功能
当我查看我的文件summary.xmlImport时,该文件如下所示:
summary.xmlImport <- function(object, ...){
rowCount <- sapply(object,nrow)
cat("Summary of xmlImport object\n")
cat("---------------------------\n")
cat("Sequences :",length(object),"\n")
cat("Min hits :",min(rowCount),"\n")
cat("Average hits :",mean(rowCount),"\n")
cat("Median hits :",median(rowCount),"\n")
cat("Max hits :",max(rowCount),"\n")
invisible(object)
}
Run Code Online (Sandbox Code Playgroud)
我不明白,为什么我现在应该添加median功能的命名空间,但为什么不min,mean等等.需要注意的是只有约median功能.
有人知道Note的原因是什么以及如何修复它?我注意到有大量的R包当前具有相同的注释.
我可以在非声明变量的上下文中理解这个警告,但我会假设median(),read.table()这样的函数在R中是全局可见的,特别是mean()看起来像!?
编辑:我只收到关于CRAN的注意事项,但没有在我的本地计算机上收到什么使搜索解决方案有点讨厌...我的电脑的会话信息:
> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.2 LTS
Run Code Online (Sandbox Code Playgroud) 即使我害怕有点偏离主题,但我不知道还有什么要问这个,对不起!
我正在使用Linux系统开发我的R-package,因此我可以R CMD check --as-cran轻松地为Linux 运行该命令.对于Windows,也可以使用同事计算机.
但是,如何检查MacOS的软件包?或者更糟糕的是,如何检查Solaris?我只是问,因为我从CRAN检查中得到了一个错误,很可能在没有一些尝试+错误的情况下我将无法修复它.但是反复上传新软件包直到MacOS修复错误都不是解决方案......
因此我的问题是,是否有一个类似于win-builder的在线工具(例如'win-check.r-project.org'和'macos-check.r-project.org'等),你可以检查你的包括所有可能的平台,在提交给cran之前?不幸的是,我不认识任何拥有Mac的人,苹果也不容易在x86计算机上安装他们的操作系统(我找到了Hackintosh项目,但它看起来有点阴暗......).拥有这样的工具可以更容易地解决一个包中的某些问题.
感谢您阅读本文!
在我的一个R-packages中,我有一些我想删除的愚蠢的示例数据.为此,我首先要遵循常用的方法来弃用然后将其解散.
为了从R-package中删除函数,我找到了这样的方法:
oldFunc <- function()
{
.Deprecated("newFunc")
}
Run Code Online (Sandbox Code Playgroud)
接下来(假设6个月)
oldFunc <- function()
{
.Defunct("newFunc")
}
Run Code Online (Sandbox Code Playgroud)
然后又过了6个月我可以从包中删除该功能.
但是,如何删除存储/data/myData.rda在包中的数据对象并且还有一些myData.Rd描述?
我有一个超过1亿行的大型文本文件,名为reads.fastq.此外,我还有另一个文件takeThese.txt,其中包含reads.fastq应该打印的文件中的行号(每行一个).
目前我用
awk 'FNR == NR { h[$1]; next } (FNR in h)' takeThese.txt reads.fastq > subsample.fastq
显然需要很长时间.有没有办法使用存储在另一个文件中的行号从文本文件中提取行?如果takeThese.txt文件被排序,它会加快速度吗?
编辑:
我有几个文件示例行:
reads.fastq:
@HWI-1KL157:36:C2468ACXX
TGTTCAGTTTCTTCGTTCTTTTTTTGGAC
+
@@@DDDDDFF>FFGGC@F?HDHIHIFIGG
@HWI-1KL157:36:C2468ACXX
CGAGGCGGTGACGGAGAGGGGGGAGACGC
+
BCCFFFFFHHHHHIGHHIHIJJDDBBDDD
@HWI-1KL157:36:C2468ACXX
TCATATTTTCTGATTTCTCCGTCACTCAA
Run Code Online (Sandbox Code Playgroud)
takeThese.txt :
5
6
7
8
Run Code Online (Sandbox Code Playgroud)
这样输出看起来像这样:
@HWI-1KL157:36:C2468ACXX
CGAGGCGGTGACGGAGAGGGGGGAGACGC
+
BCCFFFFFHHHHHIGHHIHIJJDDBBDDD
Run Code Online (Sandbox Code Playgroud)
编辑:建议脚本的比较:
$ time perl AndreasWederbrand.pl takeThese.txt reads.fastq > /dev/null
real 0m1.928s
user 0m0.819s
sys 0m1.100s
$ time ./karakfa takeThese_numbered.txt reads_numbered.fastq > /dev/null
real 0m8.334s
user 0m9.973s
sys 0m0.226s
$ …Run Code Online (Sandbox Code Playgroud) 我尝试将一个字符串向量分成一个data.frame对象,对于一个固定的顺序,这不是一个问题(例如像这里写的那样),但在我的特定情况下,未来数据框的列在字符串对象.这是玩具输入的输出结果:
input <- c("an=1;bn=3;cn=45",
"bn=3.5;cn=76",
"an=2;dn=5")
res <- do.something(input)
> res
an bn cn dn
[1,] 1 3 45 NA
[2,] NA 3.5 76 NA
[3,] 2 NA NA 5
Run Code Online (Sandbox Code Playgroud)
我现在正在寻找do.something能够以有效方式实现这一目标的功能.我当时的幼稚的解决办法是循环输入对象,strsplit那些;然后strsplit他们再次=,然后填写data.frame的结果的结果.有没有办法做更多R-like类似的?我担心按元素执行元素会花费很长时间才能生成长向量input.
编辑:为了完整,我天真的解决方案看起来像这样:
do.something <- function(x){
temp <- strsplit(x,";")
temp2 <- sapply(temp,strsplit,"=")
ul.temp2 <- unlist(temp2)
label <- sort(unique(ul.temp2[seq(1,length(ul.temp2),2)]))
res <- data.frame(matrix(NA, nrow = length(x), ncol = length(label)))
colnames(res) <- label
for(i in 1:length(temp)){
for(j in …Run Code Online (Sandbox Code Playgroud) 我有一个相当复杂的工作流程,有 750 个样本和大约 18.000 个作业,一开始 Snakemake 运行得很好,但在大约 4.000 个作业之后它突然冻结,重新启动后它会挂起“选择要执行的作业...”24 小时,之后我终止了它。不过,最初的 DAG 构建大约需要 2-3 分钟。
当我使用该--verbose选项运行 Snakemake(v5.32.0 和 v5.32.1)时,我得到大量与此类似的行:
Cbc0010I After 600 nodes, 304 on tree, -52534.791 best solution, best possible -52538.194 (7.08 seconds
我试图删除该.snakemake文件夹,希望那里会发生什么事情,但不幸的是,事实并非如此。对我来说,CBC MILP 求解器似乎在某种程度上没有收敛,并且它不断前进,并将最好的和最好的可能解决方案更紧密地结合在一起!?
现在我不知道如何继续并解决问题。我可能的解决方案是以某种方式改变收敛标准或求解器本身。在手册中我找到了该选项--scheduler-ilp-solver,但它显然只有一个选项,即默认选项COIN_CMD。
终止(较短的)运行后,我得到了这个详细的输出
Result - User ctrl-cuser ctrl-c
Objective value: 52534.79114334
Upper bound: 52538.202
Gap: -0.00
Enumerated nodes: 186926
Total iterations: 1807277
Time (CPU seconds): 1181.97
Time (Wallclock seconds): 1188.11
Run Code Online (Sandbox Code Playgroud)
接下来,我将尝试限制工作流程中的样本数量,看看这是否有任何影响(对于具有 500 个样本的其他数据集,它运行没有任何问题(使用 …
如果安装一个需要编译的R包
R CMD INSTALL package.tar.gz
从bash开始,R默认使用gcc编译器.现在发生了我的R-package在Cran上发出一个带有'clang'编译器设置的警告,这个设置没有使用gcc编译器.
为了在我的本地机器上重现警告,我想将本地编译器设置调整为Cran-check服务器上使用的设置.
我发现应该可以通过在主文件夹中的某处创建一个Makevars.in文件来更改R默认编译器,但是我找不到它必须位于何处以及必须在那里写什么才能使R到使用'clang'启用某些警告标志而不是'gcc'.
有没有人已经开启他/她的Linux系统R默认编译器从gcc到clang并且可以给我一个提示如何做到这一点?