Boxplot对数据框中的条件数据

时间:2010-03-18 16:49:30

标签: r boxplot

我是R的新手,任何人都可以使用boxplot来帮助我获取数据集:

文件1

     col1 col2     col3     col4  col5
050350005  101   56.625   48.318 RED    
051010002  106   50.625   46.990 GREEN    
051190007   25   65.875   74.545 BLUE    
051191002  246   52.875   57.070 RED    
220050004   55   70       80.274 BLUE    
220150008   75   67.750   62.749 RED    
220170001   77   65.750   54.307 GREEN

file2的

     col1 col2     col3     col4  col5
050350005  101   56.625   57     RED
051010002  106   50.625   77     GREEN    
051190007   25   65.875   51.6   BLUE    
051191002  246   52.875   55.070 RED    
220050004   55   70       32     BLUE    
220150008   75   67.750   32.49  RED
220170001   77   65.750   84.07  GREEN

对于每种颜色(红色,绿色和蓝色),我需要比较file1和file2,方法是通过划分{为文件1和文件2制作包含MB和RMSE(col4 - col3)的框图。 {1}}在不同的群组中:

如果col2< 20,20< = col2< 50,50< = col2< 70,col2> = 70。

也就是说,对于箱线图,x是(< 20,20-50,50-70,> 70),而y是col2和{的差值的MB(和RMSE) {1}}

我希望我没有混淆任何人。非常感谢你。

1 个答案:

答案 0 :(得分:1)

我认为关于boxplot的作用可能会有些混乱。虽然可以在x轴上创建组,但据我所知,y轴显示某个度量的分布(我假设col3或col4,在你的情况下),而不是那些测量的RMSE或MBE,这将是每个组的单个值。

我不确定您的分组变量(对于x轴)是col5,您为col2列出的文件或条件,还是所有这些?无论如何,您需要更多数据才能使图表有意义。

这是按col5和文件分组的col3箱图的基本示例:

col3 = c(56.625, 50.625, 65.875, 52.875, 70, 67.750, 65.750, 56.625, 50.625, 65.875, 52.875, 70, 67.750, 65.750)
col5 = c("RED", "GREEN", "BLUE", "RED", "BLUE", "RED", "GREEN", "RED", "GREEN", "BLUE","RED","BLUE","RED","GREEN")
myfile = c(1,1,1,1,1,1,1,2,2,2,2,2,2,2)
mydata = data.frame(col3, col5, myfile)
boxplot(col3 ~ col5 + myfile, data = mydata)

请注意,由于案例数量有限,您不会看到某些类别的胡须,也不会看到异常值。你需要更多的数据才能使这个图有用,现在它所显示的只是中位数的比较。

你能澄清一下你希望情节会显示什么吗?