我该如何更改图例中符号的大小?我检查了文件,theme但没有找到答案.
这是一个例子:
library(ggplot2);library(grid)
set.seed(1000)
x <- 1:6
mu <- sin(x)
observed <- mu + rnorm(length(x), 0, 0.5*sd(mu))
data <- data.frame(
t=rep(x, 2),
value=c(mu, observed) - min(mu, observed) + 0.5,
class = rep(c("mu", "observed"), each=length(x)))
mu <- data$value[1:length(x)]
observed <- data$value[1:length(x) + length(x)]
mu.min <- mu - 3 * 0.5 * sd(mu)
mu.max <- mu + 3 * 0.5 * sd(mu)
g <- ggplot(data=data)
g <- g + geom_point(aes(x=value, y=t, shape=class, size=24)) + scale_size(guide="none")
g <- g + scale_shape(name="", …Run Code Online (Sandbox Code Playgroud) 有时会有一个具有任意数量参数的函数.例如,bootstrapPage包的功能有光泽.如果我有一个data.frame并且我想为一行创建一个小部件,那么我还没有找到一种根据data.frame的行号传递参数数量的好方法.到目前为止,我生成脚本并使用诀窍eval(parse(text="..."))
事实上,传递给R中的函数的参数结构(键和值)类似于a list,所以我想知道是否有办法将参数作为R中的列表传递.
更具体地讲,如果我有一个函数f和一个列表argv,是有办法传递的对象argv,以f根据名字的匹配argv和自变量的名称f,并在位置argv和自变量的位置f?
例如,让我们
f <- function(a, b) a + b
argv <- list(a=1, b=2)
Run Code Online (Sandbox Code Playgroud)
我应该如何传递argv到f这相当于f(a=argv$a, b=argv$b)?
或者如果我们有:
f <- function(a, b, ...) { # some codes }
argv <- list(a = 1, b = 2, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud)
我应该如何传递argv到f这相当于f(a=argv$a, b=argv$b, argv[[3]], argv[[4]], argv[[5]])?
谢谢!
xts-0.9-1包提供的x的xts_API不能直接在C++中使用.
例如,如果一个人写
#include <Rcpp.h>
extern "C" {
#include <xts.h>
}
using namespace Rcpp;
RcppExport SEXP get_xts_index(SEXP x, SEXP value) {
BEGIN_RCPP
return SET_xtsIndexClass(x, value);
END_RCPP
}
Run Code Online (Sandbox Code Playgroud)
编译时会出现以下错误:
error: expected identifier before ‘)’ tokenerror: ‘install’ was not declared in this scopeerror: ‘getAttrib’ was not declared in this scopeerror: ‘setAttrib’ was not declared in this scopeerror: ‘xts_IndexvalueSymbol’ was not declared in this scope如何为C调用xts_API?
我尝试在单个图中绘制多条线,如下所示:
y <- matrix(rnorm(100), 10, 10)
m <- qplot(NULL)
for(i in 1:10) {
m <- m + geom_line(aes(x = 1:10, y = y[,i]))
}
plot(m)
Run Code Online (Sandbox Code Playgroud)
然而,似乎qplot会解析m过程中plot(m),其中i的10,所以plot(m)只生产单一的线.
我期望看到的类似于:
plot(1,1,type='n', ylim=range(y), xlim=c(1,10))
for(i in 1:10) {
lines(1:10, y[,i])
}
Run Code Online (Sandbox Code Playgroud)
其中应包含10个不同的行.
有ggplot2办法做到这一点吗?
我有一个返回stl容器的工厂函数:
const std::vector<int> f(...) {
std::vector<int> retval;
return retval;
}
Run Code Online (Sandbox Code Playgroud)
我想可以定义一个stl实例如下(没有错误):
const std::vector<int> stl_instance(f(...));
Run Code Online (Sandbox Code Playgroud)
但这样做有效吗?
是否将临时stl对象直接分配给stl_instance?
c++ rvalue-reference move-semantics return-value-optimization c++11
如果有一个向量x与
length(x)
# 100
Run Code Online (Sandbox Code Playgroud)
还有一个向量a,表示 x 的子向量的前导索引:
a
# 1, 5, 23, 79
Run Code Online (Sandbox Code Playgroud)
然后我想分裂x根据a如下:
list(x[1:4], x[5:22], x[23:78], x[79:100])
Run Code Online (Sandbox Code Playgroud)
在 R 中有没有一种快速的方法来做到这一点?