2
我使用lapply
命名的地塊,正在由lapply
讓我們說我有這個功能
plot <- function(x){
ggplot(x,aes(x=timepoints,means)) +
geom_point() +
geom_line() +
scale_x_continuous(name='some name') +
scale_y_continuous(name='another name') +
geom_errorbar(aes(ymin=means-stderrs,ymax=means+stderrs),width=2) +
opts(title = names(x))
}
我要創建圖的列表(由ggplot2
)環這個循環通過數據幀的列表,這裏是名單內的兩個數據幀的例子:
$name1
means stderrs timepoints
1 603.784863 289.952382 0
2 120.00 99.000 20
$name2
means stderrs
1 17.425819 5.204339 0
2 25.9 8.0 20
我的問題: 的names(x)
我的ggplot函數的一部分將命名每個plot'means',而不是該數據幀的實際名稱(例如, name1,name2) 該函數在list[[i]]
,我想要那個實際的數據幀的名稱,這將是names(list[i])
。
問題: 有沒有辦法引用列表中的外層,可以這麼說?或者有沒有更簡單的方法來獲得這些地塊名單和他們各自的名字?
很少你需要在'ggplot'中使用這個構造。你可以用一個完整的例子擴展你的問題,包括你正在子集的初始列表嗎? – Justin 2012-08-16 21:24:22
做了這個幫助嗎? – Doug 2012-08-16 21:31:49
,看起來像你要繪製一個具有未定義的'x'座標,'時間點'的單點。您可以隨時將其他項目添加到保存名稱的列表中。但最短的答案是否定的,'lapply'只查看列表元素中的數據,不知道外部列表或其名稱。或者使用'lapply(seq_along(yourlist),...)'和索引類似於你描述的方式。 – Justin 2012-08-16 21:37:17