小编sea*_*avi的帖子

类似热图的情节,但对于分类变量

我有大约50个人的三个因素(set1,set2和set3).set1,set2和set3的值是"A","B","C".我想制作一个类似热图的这些数据图,但让图例显示与值相关的颜色(例如,A ='红色',B ='蓝色',C ='黑色').有什么建议?

谢谢.

plot r heatmap ggplot2

16
推荐指数
1
解决办法
1万
查看次数

在Linux下限制R中的内存使用量

我们在Linux集群环境中运行R. 当用户无意中使用R进程占用所有内存时,头节点有几个挂起.有没有办法限制Linux下的R内存使用?我宁愿不建议全球性的ulimits,但这可能是前进的唯一途径.

linux memory-management r

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

使用cypher删除neo4j中的所有节点和关系超出了堆空间

我一直在尝试按照neo4j google群组和其他在线来源的建议运行此查询:

START n = node(*)MATCH n- [r?] - ()WHERE ID(n)> 0 DELETE n,r;

为了删除测试之间的所有节点和关系.当我从控制台这样做时,我用完了java堆空间.当我从python(使用新的graph_db.clear(),这看起来使用相同的查询),我得到一个"SystemError:None",我认为,这是相同的Java堆空间错误.我有一个拥有500k节点,只有5k关系和7M属性的数据库.我使用neo4j-1.8.1运行Mac笔记本电脑(10.6.8),内存为8GB.我想有点惊讶的是删除节点(基本上没有关系,所以非常小的子图)会超过java堆空间,但我对neo4j的工作方式非常天真.任何关于如何前进的建议都表示赞赏.我知道数据目录中的rm -rf从头开始可以工作,但我认为可能会有一个不那么激烈的解决方案.

[交叉发布到neo4j google群组]

neo4j cypher

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

使用subprocess.Popen进行非常大的输入和管道输入

我有一个非常简单的问题.我有一个大文件,经过三个步骤,使用外部程序的解码步骤,python中的一些处理,然后使用另一个外部程序重新编码.我一直在使用subprocess.Popen()来尝试在python中执行此操作,而不是形成unix管道.但是,所有数据都缓冲到内存中.是否存在执行此任务的pythonic方法,或者我最好回退到一个简单的python脚本,该脚本从stdin读取并使用unix管道写入stdout?

import os, sys, subprocess

def main(infile,reflist):
    print infile,reflist
    samtoolsin = subprocess.Popen(["samtools","view",infile],
                                  stdout=subprocess.PIPE,bufsize=1)
    samtoolsout = subprocess.Popen(["samtools","import",reflist,"-",
                                    infile+".tmp"],stdin=subprocess.PIPE,bufsize=1)
    for line in samtoolsin.stdout.read():
        if(line.startswith("@")):
            samtoolsout.stdin.write(line)
        else:
            linesplit = line.split("\t")
            if(linesplit[10]=="*"):
                linesplit[9]="*"
            samtoolsout.stdin.write("\t".join(linesplit))
Run Code Online (Sandbox Code Playgroud)

python subprocess popen

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

将ascii编码转换为int并在python中再次返回(快速)

我有一个文件格式(fastq格式),它将一个整数字符串编码为一个字符串,其中每个整数由带有偏移量的ascii代码表示.不幸的是,有两种常用的编码,一种偏移量为33,另一种偏移量为64.我通常有几个1亿个字符串,长度为80-150,可以从一个偏移量转换到另一个偏移量.我可以用来做这类事情的最简单的代码是:

def phred64ToStdqual(qualin):
    return(''.join([chr(ord(x)-31) for x in qualin]))
Run Code Online (Sandbox Code Playgroud)

这很好用,但速度不是很快.对于100万个字符串,我的机器大约需要4秒钟.如果我改用使用几个dicts进行翻译,我可以将其缩短到大约2秒.

ctoi = {}
itoc = {}
for i in xrange(127):
    itoc[i]=chr(i)
    ctoi[chr(i)]=i

def phred64ToStdqual2(qualin):
    return(''.join([itoc[ctoi[x]-31] for x in qualin]))
Run Code Online (Sandbox Code Playgroud)

如果我盲目地在cython下运行,我会把它降到不到1秒.
看起来像在C级,这只是一个转换为int,减去,然后转换为char.我没有写这篇文章,但我猜它速度要快得多.任何提示,包括如何在python甚至cython版本中更好地编写代码都会非常有用.

谢谢,

肖恩

python algorithm performance cython

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

如何在使用dplyr copy_to()时指定主键?

我想使用dplyr中的copy_to()来创建一个新表.可以轻松指定索引,但我没有看到指定主键的语法.建议的方法是先简单地创建表,然后使用copy_to()作为第二步将数据复制到表中,还是有单步解决方法在copy_to()中指定主键?

r dplyr

5
推荐指数
1
解决办法
690
查看次数

我如何使用jsonlite R包将长度为1的R向量编码为json中的单个值?

我正在尝试使用jsonlite包和toJSON函数将R列表编码为json。我有一个简单的项目,例如:

list(op='abc')
Run Code Online (Sandbox Code Playgroud)

我希望成为:

{
  "op" : "abc"
}
Run Code Online (Sandbox Code Playgroud)

相反,我得到:

{
  "op" : ["abc"]
}
Run Code Online (Sandbox Code Playgroud)

我试图向其提供json的API扼流圈,并要求前者。关于如何从jsonlite(或另一个R json包)获取以前的行为的任何建议吗?

json r jsonlite

5
推荐指数
1
解决办法
563
查看次数

是否有可能使用rmarkdown在书目揭示脚本中包含参考书目?

我正在尝试使用rmarkdown将书目包含到reallyjs演示中。但是,尽管在pandoc处理中显然包含了参考书目(由rmarkdown生成的pandoc命令包括bib文件和citeproc过滤器),但生成的html不包含引用。使用其他幻灯片演示文稿生成器和rmarkdown(例如ioslides)可以正确包含引用。我无法找到任何明显的声明支持amark支持使用rmarkdown和Revealjs进行书目处理。可能吗?

r r-markdown reveal.js

5
推荐指数
1
解决办法
363
查看次数

在knitr缠结的R代码中缺少块名称

在文档Stangle上使用时Sweave,输出包含一个给出块名称的注释.这在教学环境中非常有用,可以让学生在剪切和粘贴时对代码进行定位.但是,当我用来从a knitr生成.R代码时.Rnw,不包括块名称(至少我可以看到):

knit('example.Rnw',tangle=TRUE)
Run Code Online (Sandbox Code Playgroud)

我可以运行Stangle一个写入的文档,knitr除了块参数中存在不兼容性,导致运行Stangle没有错误.

有没有办法强制knitr在纠结的R代码中生成注释,包括像本机一样的块名(和/或数字)Stangle

r noweb sweave knitr

4
推荐指数
1
解决办法
131
查看次数

在PostgreSQL中是否有处理无序数组(集合)的标准方法?

我有一个表,包含两个单独的列中的单词对.单词的顺序通常很重要,但有时候我只想基于这两个单词进行聚合,而不管顺序如何.是否有一种简单的方法来处理具有相同单词但具有不同顺序(一行与另一行相反)的两行作为相同的"集合"?换句话说,对待:

apple orange
orange apple

如:

(apple,orange)
(apple,orange)

sql postgresql set

4
推荐指数
1
解决办法
906
查看次数