我正试图在数据框中使用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编程的许多问题 非常感谢您的回复。
答案 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)