为什么我的R函数不会返回或打印一个图?代码如下。所有的代码似乎工作正常,除了情节。无论我做什么,当函数被调用时,我都无法让R创建剧情。环顾网上,我找不到任何理由为什么这不起作用。R函数返回图
powerc.fun <- function(n,sigma,r){
a <- 0.05
d <- seq(-20,20,2)
power <- rep(NA,length(d))
p.lab <- rep(NA,length(d))
for (j in 1:length(d)){
mu1 <- 110
mu2 <- mu1-d[j]
reject <- rep(NA,r)
for (i in 1:r){
sample1 <- rnorm(n,mu1,sigma)
sample2 <- rnorm(n,mu2,sigma)
sample.t <- t.test(sample1,sample2)
p.val <- sample.t[3]
reject[i] <- p.val<a
power[j] <- sum(reject)/length(reject)
p.lab[j] <- paste('d=',d[j],sep='')
}}
d.power <- cbind(d,power)
return(d.power)
p.plot <- plot(d.power[,1], d.power[,2], type="l", xlab=bquote(H[a]), ylab="Power", main="Power Calculations for Two Sample T Test")
print(p.plot)
return(p.plot)
}
任何想法?
你不需要的建议,您可以通过使用一个列表保存多个对象如果你是从顶层调用(即从控制台)调用'返回'。如果你想显示图表,只需调用'plot'行而不存储它,'打印'或'返回'它。 – Thomas
http://stackoverflow.com/questions/11799317/custom-function-ggplot-and-return-values –
@Thomas:但我没有从顶层调用,它嵌入在函数调用中。如果我调用这个函数,它根本不会绘制。即使没有打印/返回。 –