我在R中创建了这个函数,以便基于多个数据框中的同一列创建箱形图,存储在列表(dfs)中:
plotting <- function(dfs, name="pdf_name", column, names, colours, title="No_title"){
pdf(name)
boxplot(dfs[[1]][[column]], dfs[[2]][[column]], dfs[[3]][[column]], names=names, col=colours)
title(title)
boxplot(dfs[[1]][[column]], dfs[[2]][[column]], dfs[[3]][[column]], col=colours, names=names, outline=F) #without outliers
title(paste(title, "without outliers"))
dev.off()
}
我想缩短这段代码,并想知道是否有一种方法可以遍历我的 Dataframe 列表中的所有 Dataframe ,例如:dfs1:3?
1条答案
按热度按时间2nc8po8w1#
下面是一个使用
diamonds
数据框的示例,只关注与您的问题相关的代码元素。首先,创建一些测试数据。
将数据框列表合并为单个长数据框
重写函数
使用函数
它给出了两个我认为符合要求形式的图。
请阅读R问题页面顶部的建议和我之前提供的链接,学习如何写一个好的问题,并提供一个最小的可重复的例子。
[The
diamonds
Dataframe 是ggplot2
数据包的一部分。]