小编Fed*_*rgi的帖子

评估以字符串形式给出的表达式

我很想知道R是否可以使用它的eval()功能来执行例如字符串提供的计算.

这是一个常见的情况:

eval("5+5")
Run Code Online (Sandbox Code Playgroud)

但是,而不是10我得到:

[1] "5+5"
Run Code Online (Sandbox Code Playgroud)

有解决方案吗

eval r r-faq

263
推荐指数
7
解决办法
17万
查看次数

一种在Bash中转置文件的有效方法

我有一个巨大的制表符分隔文件格式如下

X column1 column2 column3
row1 0 1 2
row2 3 4 5
row3 6 7 8
row4 9 10 11
Run Code Online (Sandbox Code Playgroud)

我想仅使用bash命令以有效的方式转置它(我可以编写十个左右的Perl脚本来执行此操作,但执行速度应该比本机bash函数慢).所以输出应该是这样的

X row1 row2 row3 row4
column1 0 3 6 9
column2 1 4 7 10
column3 2 5 8 11
Run Code Online (Sandbox Code Playgroud)

我想到了这样的解决方案

cols=`head -n 1 input | wc -w`
for (( i=1; i <= $cols; i++))
do cut -f $i input | tr $'\n' $'\t' | sed -e "s/\t$/\n/g" >> output
done
Run Code Online (Sandbox Code Playgroud)

但它很慢,似乎不是最有效的解决方案.我在这篇文章中看到了vi的解决方案,但它仍然过慢.有什么想法/建议/精彩的想法吗?:-)

unix bash parsing transpose

105
推荐指数
12
解决办法
11万
查看次数

将数据导入到具有未知列数的R中?

我正在尝试读取具有不同行长度的文本文件:

1
1   2
1   2   3
1   2   3   4
1   2   3   4   5
1   2   3   4   5   6
1   2   3   4   5   6   7
1   2   3   4   5   6   7   8
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我在read.table中使用了参数fill = TRUE,所以:

data<-read.table("test",sep="\t",fill=TRUE)
Run Code Online (Sandbox Code Playgroud)

不幸的是,为了评估最大行长度,read.table只读取文件的前5行,并生成一个如下所示的对象:

data
   V1 V2 V3 V4 V5
1   1 NA NA NA NA
2   1  2 NA NA NA
3   1  2  3 NA NA
4   1  2  3  4 NA
5   1  2  3  4  5
6   1 …
Run Code Online (Sandbox Code Playgroud)

import r

30
推荐指数
2
解决办法
2万
查看次数

unix join separator char

对不起,这可能是一个微不足道的问题.

我使用unix join命令进行了一些操作,试图将标签而不是空格作为默认分隔符.-t是参数,但这些不起作用(ubuntu 9.10 64 bit 2.6.31-14,GNU coreutils 7.4版)

join file1 file2 -t"\t"
join file1 file2 -t="\t"
join file1 file2 -t="\\t"
join file1 file2 -t $"\t"
Run Code Online (Sandbox Code Playgroud)

等等.当然,我总是可以使用一些不太优雅的解决方案

join file1 file2 > output
sed "s/ /\t/g" output
Run Code Online (Sandbox Code Playgroud)

但我想看起来很聪明:-)而且,如果有一个-t参数,它必须有效.

unix join

23
推荐指数
2
解决办法
3万
查看次数

这是什么语言?

一位前同事给我们留下了数千行代码.这更像是一种好奇心,因为我用不那么晦涩的语言重写了他所做的一切:-)

不过我很好奇.这是元代码还是实际语言?

  DATA DIVISION.

   WORKING-STORAGE SECTION.

   78  dialog-system               VALUE "DIV".

   01 Display-Error.
      03 Display-Error-No             PIC 9(4) comp-5.
      03 Display-Details-1            PIC 9(4) comp-5.
      03 Display-Details-2            PIC 9(4) comp-5.
          05 Display-Details-3            PIC 9(4) comp-5.


   COPY "DS-CNTRL.MF".
   COPY "ThisApp.txt".


   PROCEDURE DIVISION.

  *---------------------------------------------------------------*

   Main-Process SECTION.
      PERFORM Program-Initialize
      PERFORM Program-Body UNTIL EXIT-FLAG-TRUE
      PERFORM Program-Terminate
      .

  *---------------------------------------------------------------*

   Program-Initialize SECTION.

      INITIALIZE Ds-Control-Block
      INITIALIZE Data-block
      MOVE Data-block-version-no
                               TO Ds-Data-Block-Version-No
      MOVE Version-no TO Ds-Version-No

      MOVE Ds-New-Set TO Ds-Control
      MOVE "MyApp" TO Ds-Set-Name

      .

  *---------------------------------------------------------------*

   Program-Body SECTION.

      PERFORM Call-Dialog-System
      . …
Run Code Online (Sandbox Code Playgroud)

cobol programming-languages

10
推荐指数
3
解决办法
570
查看次数

multiFASTA文件处理

我很想知道是否有任何生物信息学工具能够处理multiFASTA文件,给我信息序列,长度,核苷酸/氨基酸含量等信息,并可能自动绘制描述性图.也可以使用R BIoconductor解决方案或BioPerl模块,但我找不到任何东西.

你能帮助我吗?非常感谢 :-)

bioinformatics fasta bioconductor biopython bioperl

7
推荐指数
1
解决办法
2327
查看次数

R中的多面板标题

我有一个关于R的超短问题

我的目标是为使用par生成的多面板图指定一个共同的标题,例如

par(mfrow=c(1,2))
plot(rnorm(1000))
plot(rnorm(1000))
Run Code Online (Sandbox Code Playgroud)

因此,类似于绘图功能的"主要",但扩展到两个图.有没有规范的方法来做到这一点?

谢谢你的回答:-)

plot r

7
推荐指数
1
解决办法
9132
查看次数

Java中的二项式测试

我正在寻找一个高效的Java库(甚至是一个函数)来执行臭名昭着的精确二项式测试.类似于此处描述的R函数"binom.test" .

你能帮助我吗?非常感谢!:-)

java binomial-coefficients

7
推荐指数
1
解决办法
988
查看次数

R doParallel 进度条来监控完成的工作

我正在尝试编写一个具有多线程功能的 CRAN 包。我使用 实现了一个完美的解决方案doSNOW,但该软件包已被 CRAN 团队标记为“已取代”,他们要求我切换到一个doParallel解决方案。这很好,但是我找不到一种方法来监视已完成的作业数量,doParallel就像我使用doSNOW. 这是我的doSNOW解决方案:

# Set up parameters
nthreads<-2
nreps<-100
funrep<-function(i){
    Sys.sleep(0.1)
    res<-c(log2(i),log10(i))
    return(res)
}
# doSNOW solution
library(doSNOW)
cl<-makeCluster(nthreads)
registerDoSNOW(cl)
pb<-txtProgressBar(0,nreps,style=3)
progress<-function(n){
    setTxtProgressBar(pb,n)
}
opts<-list(progress=progress)
i<-0
output<-foreach(i=icount(nreps),.combine=c,.options.snow=opts) %dopar% {
    s<-funrep(i)
    return(s)
}
close(pb)
stopCluster(cl)
Run Code Online (Sandbox Code Playgroud)

是之前 Stack Overflow 帖子中建议的 doParallel 解决方案。但是,如您所见,它不会在作业完成时打印进度,它只会在最后合并结果时打印。

# doParallel solution
library(doParallel)
progcombine<-function(){
  count<-0
  function(...) {
    count<<-count+length(list(...))
    setTxtProgressBar(pb,count)
    utils::flush.console()
    c(...)
  }
}
cl <- makeCluster(nthreads)
registerDoParallel(cl)
output<-foreach(i = icount(nreps),.combine=progcombine()) %dopar% {
    funrep(i) …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r

6
推荐指数
2
解决办法
560
查看次数

带圆圈的 R 热图

我想在 R 中生成一个使用圆圈的矩阵的热图可视化,以便让圆圈的颜色和直径都能提供信息。看起来像这样的东西: 带圆圈的示例 R 热图

这种绘图在某些计算生物学实验室中称为“泡泡糖图”,但我找不到 R 函数/包来执行此操作。

有任何想法吗?谢谢!

r heatmap

6
推荐指数
1
解决办法
106
查看次数