我沒有向您顯示我的真實代碼,因爲它很龐大而且很難看。 但我使用了標準的R包重建的問題:如何添加函數參數作爲劇情標題與lapply?
# a list of a few r standard datasets
datasets <- list(PlantGrowth, cars, faithful)
# a function that plots a dataset and adds its name to the title
plotstuff <- function(dataset) {
plot_title <- substitute(paste("Plot of ", dataset, sep=" "))
plot(dataset, main = plot_title)
}
數據集(即函數參數)的名稱成功添加到情節標題,當我運行像
plotstuff(PlantGrowth)
plotstuff(cars)
plotstuff(faithful)
個別數據集功能
因爲我有很多的數據集我想與lapply要做到這一點是這樣的:
lapply(datasets, plotstuff)
但在這樣做,所以我得到奇怪的標題:地塊[ (X,i)而不是數據集的名稱。 如何使用lapply在劇情標題中顯示數據集的名稱?
以下是我能找到的唯一相關主題。 (而且它並沒有真正幫助...)
Use variable name as plot title with lapply
編輯: 謝謝! 但我似乎並不瞭解另一個例子。
「的列表項的名稱lapply使用,而不是:」
lapply(names(afn), function(x) plot(afn[[x]], main=x))
首先,我加名添加到列表:
datasets <- list(PlantGrowth = PlantGrowth, cars = cars, faithful = faithful)
然後我想:
plotstuff <- function(dataset) {
chart_title <- substitute(paste("Plot of ", dataset, sep=" "))
plot(datasets[[dataset]], main = chart_title)
}
lapply(names(datasets), plotstuff)
沒有工作......我也不想引用函數內部的列表數據集。如果我想稍後用另一個名字來使用第二個列表呢? 有人知道這個例子的解決方案嗎?
您的列表沒有名字,所以也沒有辦法了'lapply'可能認識他們。嘗試'名稱(數據集)'。爲了比較,「L = list(a = 1,b = 2)」。 – Frank
爲列表命名,然後使用鏈接的副本作爲指導。 –
謝謝!做到了。我仍然卡住(見編輯)... –