我有一個函數生成一些情節:[R不需要輸出返回到屏幕或滴一些返回值
estrat.precios <- function(numeric1,numeric2,factor1,numeric3,numeric4,numeric5,string){
suppressPackageStartupMessages(library(lattice))
# histograma de distribución por factor1
tit=paste("Distribución de descuentos por factor1,",string)
h2<-histogram(~ numeric2 | factor1,main=tit,xlab = "Descuento")
# scatterplot de Descuentos vs proyección de venta por grupo
tit<-paste("Desctos vs. Proyección de Venta por factor1,",string)
s<-xyplot(numeric2 ~ numeric3 | factor1, main = tit,scales=list(x=list(log=10,equispaced.log=T)),xlab = "Monto Techo",ylab = "Descuento")
# scatterplot de descuentos vs precio de referencia por grupo
tit<-paste("Desctos vs precio de referencia por grupo,",string)
s2<-xyplot(numeric2 ~ numeric4, group= factor1, main = tit, scales=list(x=list(log=10,equispaced.log=T)), auto.key = T, xlab="Precios de Referencia", ylab="Descuento")
# Density plot de variación respecto de promedio
tit<-paste("Densidad de variaciones vs promedio de precios,",string)
d<-plot(density((numeric1-numeric5)/numeric5,na.rm=T),main=tit,cex.main=0.9)
# boxplot variación respecto de promedio
bs<-as.character(summary(numeric1-numeric5))
cs<-paste("Min=",bs[1],"1Q=",bs[2],"Mean=",bs[4],"3Q=",bs[5],"Max=",bs[6])
tit<-paste("Distribución de variaciones vs promedio,",string)
b<-boxplot((numeric1-numeric5)/numeric5,main=tit,cex.main=0.9)
mtext(text=c,side=1)
return((list(h2,s,s2,d,b)))
}
當它運行時,它會產生大量不必要的輸出到屏幕(這是一個簡短摘錄):
[[4]]
NULL
[[5]]
[[5]]$stats
[,1]
[1,] -0.2194174757
[2,] -0.0885108962
[3,] 0.0000000000
[4,] 0.0002734618
[5,] 0.1333333333
[[5]]$n
[1] 911
我已經嘗試過改變功能的最後一行:
return(invisible(list(h2,s,s2,d,b)))
,但隨後沒有GE整理前3個地塊:h2,s,s2(使用格子),只有d和b。
如何避免不必要的輸出到屏幕並保留5個圖? 在此先感謝
您可以通過提供您嘗試輸入到您的函數的值來重現這一點嗎?你還可以更詳細地描述你想要達到的目標嗎?你想要這些地塊嗎?你想對這些情節做什麼? – Thomas 2014-11-01 10:50:20
托馬斯,謝謝你的回覆。你可以通過調用'estrat.precios(1:5,seq(0.01,0.05,0.01),c(「A」,「A」,「B」,「C」,「C」),21 :25,2:6,1.1:5.1,「string 09」)'。我想讓這些地塊分析定價策略(直觀地),然後決定是否要保存它們。 – PavoDive 2014-11-01 11:07:07