以下是我试图在R中运行的并行循环:
cl <- makeCluster(30,type="SOCK")
registerDoSNOW(cl)
results <- foreach (i = 1:30, .combine='bindlist', .multicombine=TRUE) %dopar% {
test <- i
test <- as.list(test)
list(test)
}
stopCluster(cl)
Run Code Online (Sandbox Code Playgroud)
我的代码的输出始终是一个列表,我想将列表组合成一个大列表。因此,我编写了以下.combine函数:
bindlist <- function(x,y,...){
append(list(x),list(y),list(...))
}
Run Code Online (Sandbox Code Playgroud)
当我进行多次运行时,我尝试使用变量的数量更改...。但是,它不起作用。我该如何重写.combine函数,使其可以与更改变量数一起使用?
使用plot_grid时,如何更改背景颜色?我有以下图形,但我希望背景中的所有内容都是灰色的,并且没有高度差异.我怎么能改变这个?
这是我的图形和数据代码:
数据
set.seed(123456)
Test_1 <- round(rnorm(20,mean=35,sd=3),0)/100
Test_2 <- round(rnorm(20,mean=70,sd=3),0)/100
ei.data <- as.data.frame(cbind(Test_1,Test_2))
intercept <- as.data.frame(matrix(0,20,1))
slope <- as.data.frame(matrix(0,20,1))
data <- cbind(intercept,slope)
colnames(data) <- c("intercept","slope")
for (i in 1:nrow(ei.data)){
data[i,1] <- (ei.data[i,2]/(1-ei.data[i,1]))
data[i,2] <- ((ei.data[i,1]/(1-ei.data[i,1]))*(-1))
}
Run Code Online (Sandbox Code Playgroud)
左图
p <- ggplot(data, aes(Test_1,Test_2))+
geom_point(shape=1,size=1)+
theme_bw()+
xlab(TeX("$n_{1,i}$"))+
ylab(TeX("$t_{1,i}$"))+
scale_y_continuous(limits=c(0,1),breaks=seq(0,1,0.2))+
scale_x_continuous(limits = c(0,1),breaks=seq(0,1,0.2))+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_rect(fill = "grey92", colour = NA),
plot.background = element_rect(fill = "grey92", colour = NA),
axis.line = element_line(colour = "black"))+
theme(aspect.ratio=1)
p
Run Code Online (Sandbox Code Playgroud)
正确的情节
df …Run Code Online (Sandbox Code Playgroud)