首页 文章

Boxplot对数据框中的条件数据

提问于
浏览
1

我是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

文件2

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,通过将 col2 划分为不同的组来为file1和file2创建带有MB和RMSE的框图( col4 - col3 ):

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

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

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

1 回答

  • 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)
    

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

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

相关问题