循环数据帧以创建箱线图

时间:2015-08-12 07:57:01

标签: r data-visualization boxplot

我正试图在数据框中使用R软件获取boxplot,但是有很多列附加到数据框。 这是代码

for (i in 1:9){
boxplot(Return.[i]~gama.[i])
    }

这段代码有效,但它没有提供好的代码,因为它很长。如何使用R简化此操作? 非常感谢您的帮助

〜更新〜

我正在尝试使用for循环,因为我尝试使用boxplot的变量名只在数量上有所不同,所以这里是

Error in eval(expr, envir, enclos) : object 'Return.' not found 

但是,发生错误说这个

You cannot reference a synonym that is located on a linked server.

我仍在目睹R编程的许多问题 非常感谢您的回复。

1 个答案:

答案 0 :(得分:1)

如果将数据框列表与data.frame()函数结合使用,则需要绑定数据帧。如果所有文件具有相同的结构,我建议您使用rbind组合它们:

library(dplyr)
for(i in 1:length(myfiles)) myfiles[[i]]$nr = i   # if you need to know the origin of the data
df = bind_rows(myfiles)

不同文件之间的区别可以通过分面来完成,但由于您需要绘制不同变量的图表,因此您可能无法进一步缩短代码:

library(ggplot2)
ggplot(df, aes(factor(gama), Return)) + geom_boxplot() + facet_wrap(~ nr)
ggplot(df, aes(factor(theta), Return)) + geom_boxplot() + facet_wrap(~ nr)
ggplot(df, aes(factor(detectionsLimit), Return)) + geom_boxplot() + facet_wrap(~ nr)
ggplot(df, aes(factor(NSMOOTH), Return)) + geom_boxplot() + facet_wrap(~ nr)
ggplot(df, aes(factor(NREF), Return)) + geom_boxplot() + facet_wrap(~ nr)
ggplot(df, aes(factor(NOBS), Return)) + geom_boxplot() + facet_wrap(~ nr)