wom*_*ble 4 plot loops r object
我正在使用R循环数据框,执行计算并绘制图.
for(i in 2 : 15){
# get data
dataframe[,i]
# do analysis
# make plot
a <- plot()
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让我可以使用'i'的值制作情节对象名'a'?例如,a +"i"< - plot().然后我想将它添加到矢量中,所以我有一系列的图表,然后我可以在稍后阶段使用,当我想制作pdf时.或许还有另一种存储方式.
我熟悉paste()函数,但我还没弄清楚如何使用它来定义对象.
如果你想要一个绘图对象的"矢量",最简单的方法就是将它们存储在一个list
.使用paste()
为您的剧情创建一个名称,然后将其添加到列表:
# Create a list to hold the plot objects.
pltList <- list()
for( i in 2:15 ){
# Get data, perform analysis, ect.
# Create plot name.
pltName <- paste( 'a', i, sep = '' )
# Store a plot in the list using the name as an index.
# Note that the plotting function used must return an *object*.
# Functions from the `graphics` package, such as `plot`, do not return objects.
pltList[[ pltName ]] <- some_plotting_function()
}
Run Code Online (Sandbox Code Playgroud)
如果您不想将图存储在列表中并且想要创建一个包含其名称的新对象pltName
,那么您可以使用assign()
:
# Use assign to create a new object in the Global Environment
# that gets it's name from the value of pltName and it's contents
# from the results of plot()
assign( pltName, plot(), envir = .GlobalEnv )
Run Code Online (Sandbox Code Playgroud)