我的R脚本的问题是它花了太多时间,我考虑的主要解决方案是并行化它.我不知道从哪里开始.
我的代码看起来像这样:
n<- nrow (aa)
output <- matrix (0, n, n)
akl<- function (dii){
ddi<- as.matrix (dii)
m<- rowMeans(ddi)
M<- mean(ddi)
r<- sweep (ddi, 1, m)
b<- sweep (r, 2, m)
return (b + M)
}
for (i in 1:n)
{
A<- akl(dist(aa[i,]))
dVarX <- sqrt(mean (A * A))
for (j in i:n)
{
B<- akl(dist(aa[j,]))
V <- sqrt (dVarX * (sqrt(mean(B * B))))
output[i,j] <- (sqrt(mean(A * B))) / V
}
}
Run Code Online (Sandbox Code Playgroud)
我想在不同的cpu上并行化.我怎样才能做到这一点?我看到了SNOW包,它适合我的目的吗?感谢您的建议,Gab
我正在使用带有大数据的pheatmap.我的目的是对行和列进行聚类并分析主要聚类.我上传数据表并按如下方式执行热图:
library (pheatmap)
data<-read.table ("example.txt", header = TRUE)
pheatmap(data)
Run Code Online (Sandbox Code Playgroud)
通过这个我获得了我的数据的热图.我的example.txt看起来像这样:
a b c d e f
a 1 0.1 0.9 0.5 0.65 0.9
b 0.1 1 0.39 0.83 0.47 0.63
c 0.9 0.39 1 0.42 0.56 0.84
d 0.5 0.83 0.42 1 0.95 0.43
e 0.65 0.47 0.56 0.95 1 0.14
f 0.9 0.63 0.84 0.43 0.14 1
Run Code Online (Sandbox Code Playgroud)
可能这是一个非常愚蠢的问题,但无论如何我会发布它.运行pheatmap(数据)后,如何获取与集群对应的元素?我是否必须以某些特定方式保存结果并通过其他R包进行分析?
我遇到了一个简单的问题.我需要比较两个文件并只写出两者之间不匹配的模式.
我的第一个文件看起来像这样:
1 A A
2 A B
3 C D
4 E F
5 G H
6 I L
Run Code Online (Sandbox Code Playgroud)
我的第二个文件看起来像这样:
A A
A B
C D
Run Code Online (Sandbox Code Playgroud)
我想要的是使用第二个文件中的对列表来选择第一个文件中的不匹配行并在输出中打印它们.我想要的输出如下:
4 E F
5 G H
6 I L
Run Code Online (Sandbox Code Playgroud)
我的下面的代码需要改进,我需要你的帮助来做到这一点!
open (FUS, "< $file_1")|| die "Impossible open file 1";
@f = <FUS>;
close (FUS);
open (ALL, "< $file_2")|| die "Impossible open file 2";
@a = <ALL>;
close (ALL);
for ($c=0; $c<=$#a; $c++) {
chomp ($a[$c]);
@q = split (/\t/, $a[$c]);
$qok = …Run Code Online (Sandbox Code Playgroud)