我有大约50个人的三个因素(set1,set2和set3).set1,set2和set3的值是"A","B","C".我想制作一个类似热图的这些数据图,但让图例显示与值相关的颜色(例如,A ='红色',B ='蓝色',C ='黑色').有什么建议?
谢谢.
我们在Linux集群环境中运行R. 当用户无意中使用R进程占用所有内存时,头节点有几个挂起.有没有办法限制Linux下的R内存使用?我宁愿不建议全球性的ulimits,但这可能是前进的唯一途径.
我一直在尝试按照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群组]
我有一个非常简单的问题.我有一个大文件,经过三个步骤,使用外部程序的解码步骤,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) 我有一个文件格式(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版本中更好地编写代码都会非常有用.
谢谢,
肖恩
我想使用dplyr中的copy_to()来创建一个新表.可以轻松指定索引,但我没有看到指定主键的语法.建议的方法是先简单地创建表,然后使用copy_to()作为第二步将数据复制到表中,还是有单步解决方法在copy_to()中指定主键?
我正在尝试使用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包)获取以前的行为的任何建议吗?
我正在尝试使用rmarkdown将书目包含到reallyjs演示中。但是,尽管在pandoc处理中显然包含了参考书目(由rmarkdown生成的pandoc命令包括bib文件和citeproc过滤器),但生成的html不包含引用。使用其他幻灯片演示文稿生成器和rmarkdown(例如ioslides)可以正确包含引用。我无法找到任何明显的声明支持amark支持使用rmarkdown和Revealjs进行书目处理。可能吗?
在文档Stangle
上使用时Sweave
,输出包含一个给出块名称的注释.这在教学环境中非常有用,可以让学生在剪切和粘贴时对代码进行定位.但是,当我用来从a knitr
生成.R
代码时.Rnw
,不包括块名称(至少我可以看到):
knit('example.Rnw',tangle=TRUE)
Run Code Online (Sandbox Code Playgroud)
我可以运行Stangle
一个写入的文档,knitr
除了块参数中存在不兼容性,导致运行Stangle
没有错误.
有没有办法强制knitr
在纠结的R
代码中生成注释,包括像本机一样的块名(和/或数字)Stangle
?
我有一个表,包含两个单独的列中的单词对.单词的顺序通常很重要,但有时候我只想基于这两个单词进行聚合,而不管顺序如何.是否有一种简单的方法来处理具有相同单词但具有不同顺序(一行与另一行相反)的两行作为相同的"集合"?换句话说,对待:
apple orange orange apple
如:
(apple,orange) (apple,orange)