У меня есть набор данных CSV, который выглядит так:
GPU_Config,Job_Num,Stack_Num,Seconds
02_13,2,16double,1106
02_13,4,16double,906.25
02_13,6,16double,914.75
02_13,8,16double,982.5
02_13,10,16double,1013.25
02_13,12,16double,1067.5
02_13,16,16double,1026.25
0_1geom_smooth()
3,4,16double,959.75
0_1geom_smooth()
3,8,16double,847.5
0_1geom_smooth()
3,12,16double,976.5
0_1geom_smooth()
3,16,16double,972.75
Я хочу отобразить два geom_smooth()
, каждый из которых использует отдельный тип GPU_Config
, 02_13
и 0_1_2_3
. Я могу использовать метод подмножества R
в параметрах ggplot()
следующим образом:
ggplot(subset(test, GPU_Config %in% c("02_13", "0_1_2_3")), aes(y = Seconds, x = Job_Num, color = GPU_Config)) + geom_smooth() + geom_point()
Однако в результате получается такой график:
Я хочу разделить два сглаживателя, чтобы иметь возможность манипулировать каждым отдельно для каждого подмножества данных (gpu type
). Однако что-то вроде этого ниже не работает:
ggplot(test, aes(y = Seconds, x = Job_Num)) + geom_smooth(subset(test, GPU_Config %in% c("02_13"))) + geom_smooth(subset(test, GPU_Config %in% c("0_1_2_3"))) + geom_point()
и приводит к этой ошибке:
Error: Mapping must be created by `aes()` or `aes_()`
Может ли кто-нибудь помочь с этим? Примечание. Я ни в коем случае не являюсь экспертом по R.
ggplot(test[8:11, ], aes(y = Seconds, x = Job_Num)) + geom_smooth()
, вы увидите, что ggplot фактически не может получить geom_smooth() для второй части ваших данных. - person tluh   schedule 02.08.2016data
в geoms, так какdata
не является первым аргументом, как вggplot
. Попробуйтеgeom_smooth(data = subset(...etc...))
. Ошибка в том, что первый аргумент вgeom_smooth
равенmapping
, но вы указываете набор данных. - person aosmith   schedule 02.08.2016