2016-08-05 2 views
0

Этот блок данных, как объяснено ниже, состоит из 4 методов и 3 показателей эффективности для каждого метода. Я хочу иметь barplot для каждого метода аналогично, как это:График производительности MSE, RMSE

enter image description here

   Method  MSE RMSE MAE 
      Baseline 42674.68 206.58 149.96 
    Linear Regression 10738.56 103.63 55.85 
     Random forest 4492.47 67.03 37.29 
     Neural Network 7650.72 87.47 57.50 

Однако, я не могу получить это с ggplot или что-то подобное. Кто-нибудь может мне помочь?

+0

На этот раз не стоит менять его, но для дальнейшего использования лучше всего использовать данные с 'dput', или если вы этого не сделаете, по крайней мере, не включайте номера строк. Это усложняет нам возможность получить его в R. –

ответ

1

Первое чтение в данных

dd = read.table(textConnection("Method MSE RMSE MAE 
Baseline 42674.68 206.58 149.96 
LinearRegression 10738.56 103.63 55.85 
Randomforest 4492.47 67.03 37.29 
NeuralNetwork 7650.72 87.47 57.50"), header=TRUE) 

Далее нам нужно изменить свой кадр данных, который будет ggplot2 дружественным помощью reshape2

dd_m = reshape2::melt(dd, c("Method")) 

head(dd_m, 2) 
#   Method variable value 
#1   Baseline  MSE 42675 
#2 LinearRegression  MSE 10739 

Затем мы используем geom_bar

library(ggplot2) 
ggplot(dd_m) + 
    geom_bar(aes(x=variable, y=value, fill=Method), 
       stat="identity", # Don't transform the data 
       position = "dodge") # Dodge the bars 

enter image description here

+0

Большое спасибо! Возможно, для улучшения удобочитаемости я должен масштабировать MSE – GerritCalle

Смежные вопросы