小编And*_*rew的帖子

在R中,是否可以在绘图中叠加2种颜色以产生第3种颜色(例如,使用加法或减色混合)

我想用2类数据做一个散点图,一个用黄色绘制,一个用蓝色绘制,它们以绿色显示在它们叠加的位置(或任何其他组合).我发现即使透明度,事情也有点困难.图表的颜色受空间中绘制的最后一个点是蓝色还是黄色的影响.

例如,使用以下代码:

col1 <- rgb(red = .0, green = 0, blue = 0.8, alpha = 0.8)
col2 <- rgb(red = .8, green = 0.8, blue = 0, alpha = 0.8)
circle <- data.frame(x = c(0.2,0), 
                    y = c(0,0),
                    col = c(col1, col2),
                    stringsAsFactors = F)
orders <- c(1,2)
plot(x = circle$x[orders], y = circle$y[orders],
     col = circle$col[orders], pch = 19, cex = 100, xlab = "", ylab = "")
Run Code Online (Sandbox Code Playgroud)

根据您设置矢量的方式orders(设置绘制两个大点的方向),您会得到不同的结果: 在此输入图像描述

如果你交换顺序绘制两个圆圈的顺序,你会得到: 在此输入图像描述

无论哪种方式,我都期待混合颜色以获得绿色.有没有办法做到这一点?谢谢!

编辑 - 这两个图是使用pdf设备制作的.我也尝试通过tikzDevice运行代码,看看是否有效,但事实并非如此.

graphics rgb r colors

20
推荐指数
1
解决办法
3675
查看次数

接下来将n组成k部分 - 是否有人有工作算法?

n组成k部分 - 我想将n的所有可能成分列入k部分 - 是否有人有算法(最好是R)?或者知道它是否在图书馆的任何地方?

例如,如果我有n个立方体和k个袋子,并且想要列出袋子中立方体的所有可能排列.例如,有3种方法可以将2个立方体分成2个袋子:

(2, 0) (1, 1) (0, 2)
Run Code Online (Sandbox Code Playgroud)

我找到了NEXCOM的算法.我发现一个版本,它在这里用Fortran(第46页),但在Fortran中没有代码,所以真正了解发生了什么事情-任何帮助吗?

combinatorics

8
推荐指数
2
解决办法
2819
查看次数

如何比较Rcpp和C的性能?

我希望能够比较从R运行一些C代码的性能(使用包inlineRcpp).我习惯rbenchmark在R中这样做.一个简单的例子如下: -

在RI一直在使用: -

library(inline)
## function to calculate a mean:-
mean_fun <- cxxfunction(signature(a = "numeric"), plugin = "Rcpp", body = '
  Rcpp::NumericVector xa(a);
    int n = xa.size();
    double sum = 0;
    for(int i = 0; i < n; i++) {
        sum += xa[i];
    }
  double mean = sum / n;
    return Rcpp::wrap(mean);    
')
x <- rnorm(100000)
require(rbenchmark)
print(benchmark(mean_fun(x), mean(x), 
      columns = c("test", "replications", "elapsed", "relative"),
      replications = 100))
Run Code Online (Sandbox Code Playgroud)

这给出了输出: -

         test replications elapsed …
Run Code Online (Sandbox Code Playgroud)

c r rcpp

3
推荐指数
1
解决办法
473
查看次数

标签 统计

r ×2

c ×1

colors ×1

combinatorics ×1

graphics ×1

rcpp ×1

rgb ×1