我想用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运行代码,看看是否有效,但事实并非如此.
将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中没有代码,所以真正了解发生了什么事情-任何帮助吗?
我希望能够比较从R运行一些C代码的性能(使用包inline
和Rcpp
).我习惯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)