Блокпост на условных данных в датафрейме - PullRequest
1 голос
/ 18 марта 2010

Я новичок в R, может кто-нибудь помочь мне с boxplot для набора данных, как:

file1

     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

для каждого цвета (красный, зеленый и синий), мне нужно сравнить файл1 и файл2, выполнив блок-диаграмму с MB и RMSE для (col4 - col3) для файла1 и файла2, разделив col2 на разные группа:

если col2 <20,20 <= col2 <50, 50 <= col2 <70, col2> = 70.

То есть для коробчатого графика x равен (<20, 20-50,5070,> 70), тогда как y - это МБ (и RMSE) разности col4 и col3

Надеюсь, я никого не смутил. Большое вам спасибо.

1 Ответ

1 голос
/ 17 ноября 2010

Я думаю, что может быть некоторая путаница в отношении того, что делает / делает боксплот. Хотя возможно создание групп по оси x, насколько я знаю, по оси y показано распределение определенной меры (я полагаю, или col3, или col4, в вашем случае), а не RMSE или MBE этих измерений, который будет одним значением для каждой группы.

Я не уверен, что ваша переменная группировки (для оси x) - это col5, файлы или критерии, которые вы перечислили для col2, или все они? В любом случае, вам нужно больше данных, чтобы графики были значимыми.

Это базовый пример коробочного сюжета col3, сгруппированного по col5 и файлу:

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)

Обратите внимание, что, поскольку количество случаев ограничено, вы не видите ни усов, ни выбросов. Вам понадобится больше данных, чтобы этот график был полезным, сейчас все, что он показывает, - это сравнение медиан.

Можете ли вы уточнить, что вы надеетесь показать сюжет?

...