爲什麼我的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:但我沒有從頂層調用,它嵌入在函數調用中。如果我調用這個函數,它根本不會繪製。即使沒有打印/返回。 –