小编are*_*gme的帖子

最快的R等价于MATLAB的reshape()方法?

我正在将一个MATLAB脚本转换为R并对此感到后悔,因为它现在速度较慢.我试图尽可能地使用"矢量化函数",但我对R来说相对较新,并且不知道这是什么意思.如果使用大量运算符(包括括号),我对循环的研究只比R中的apply()方法慢.否则,我不知道R可以做些什么来进一步放慢速度.这是我希望加速的代码.

somPEs   <- 9;
inputPEs <- 6;
initial_w <- matrix(1, nrow=somPEs, ncol=inputPEs) 
w <- apply(initial_w, 1, function(i) runif(i));
# Reshape w to a 3D matrix of dimension: c(sqrt(somPEs), sqrt(somPEs), inputPEs)
nw <- array(0, dim=c(sqrt(somPEs), sqrt(somPEs), inputPEs))
for (i in 1:inputPEs) {
  nw[,,i] <- matrix(w[i,], nrow=sqrt(somPEs), ncol=sqrt(somPEs), byrow=TRUE)
}
w <- nw;
Run Code Online (Sandbox Code Playgroud)

在MATLAB中,此代码由称为"reshape"的内置函数执行,如下所示:

w = reshape(w,[sqrt(somPEs) sqrt(somPEs) inputPEs]);
Run Code Online (Sandbox Code Playgroud)

我计算了当前的R代码并且它实际上超级快,但我仍然想学习矢量化以及如何将我的代码转换为apply()以便于阅读.

user  system elapsed 
0.003   0.000   0.002 
Run Code Online (Sandbox Code Playgroud)

performance matlab r vectorization reshape

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

带有均值和标准差的 R 手动箱线图 (ggplot2)

我有两组平均分数和标准差,代表我们对平均估计值的信心。注意:我没有原始分数,只是表示模型输出的估计值和模型输出的估计值的 SD,围绕该平均值。

我有一个大约 20 的特征集,我想比较每个特征的平均值 +/- 标准偏差,我的 2 组中的每一个。它基本上看起来像这样:

在此处输入图片说明

ggplot() 似乎处理具有原始数据的数据,它计算每个特征数组的均值和标准差。boxplot() 的工作原理类似。

谁能帮我想出一种方法来以这种方式可视化我的结果?

visualization r boxplot

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