在 Boxplot 中的 y lab 列表中获取数据框的名称
Getting the name of the dataframe in a list for y lab in Boxplot
我的问题的 运行 是我有 20 个数据帧。它们是具有 16 列(从 q12007 到 q42011 的日期)和 250 行(公司)的数据框,每个数据框对应一个单独的变量(利润、收入等)。我想为每个数据框创建一个单独的箱线图,其中 x 轴是日期,y 轴是数据框的值。下面是一个示例(注意不是虚拟数据而是实际数据)
我可以通过下面的代码轻松实现我想要的结果
df1 <- as.data.frame(matrix(rexp(180), ncol= 9))
df2 <- as.data.frame(matrix(rexp(180), ncol= 9))
df3 <- as.data.frame(matrix(rexp(180), ncol= 9))
man <- list (df1, df2, df3)
names(man) <- LETTERS[1:3]
lapply(man, function (x ) {
boxplot(x , las = 2 )})
但是,我想获取数据框的名称并将其添加到 ylab 或主标题中,这样我就可以知道绘图的用途。我知道我可以通过
获取列表中数据框的名称
names(man)[1]
[1] "A"
但是如果我尝试这样的事情
lapply(seq_along(man),
function(x,y){ boxplot(x , names(x)[y], las = 2 )})
我遇到了一场灾难。我尝试了一些其他的东西,但无法破解答案
改为seq_along
是正确的方向
lapply(seq_along(man), function (x) {
boxplot(man[[x]], las = 2)
title(main = paste("data", names(man[x])))
})
我的问题的 运行 是我有 20 个数据帧。它们是具有 16 列(从 q12007 到 q42011 的日期)和 250 行(公司)的数据框,每个数据框对应一个单独的变量(利润、收入等)。我想为每个数据框创建一个单独的箱线图,其中 x 轴是日期,y 轴是数据框的值。下面是一个示例(注意不是虚拟数据而是实际数据)
我可以通过下面的代码轻松实现我想要的结果
df1 <- as.data.frame(matrix(rexp(180), ncol= 9))
df2 <- as.data.frame(matrix(rexp(180), ncol= 9))
df3 <- as.data.frame(matrix(rexp(180), ncol= 9))
man <- list (df1, df2, df3)
names(man) <- LETTERS[1:3]
lapply(man, function (x ) {
boxplot(x , las = 2 )})
但是,我想获取数据框的名称并将其添加到 ylab 或主标题中,这样我就可以知道绘图的用途。我知道我可以通过
获取列表中数据框的名称names(man)[1]
[1] "A"
但是如果我尝试这样的事情
lapply(seq_along(man),
function(x,y){ boxplot(x , names(x)[y], las = 2 )})
我遇到了一场灾难。我尝试了一些其他的东西,但无法破解答案
改为seq_along
是正确的方向
lapply(seq_along(man), function (x) {
boxplot(man[[x]], las = 2)
title(main = paste("data", names(man[x])))
})