2016-02-12 2 views
1

Я планировавших следующие данные:черчения NA на ggplot график рассеяния с весовыми точками

UKPRN Subject Total.number easting northing 
1 10033225 Computing NA   516857 209364 
2 10035012 Computing NA   337767 402199 
3 10000571 Computing NA   369406 163887 
4 10034119 Computing NA   567497 193951 
5 10007140 Computing 7   407643 287149 
6 10007140 Computing 5   407643 287149 

Я хочу сохранить данные NA на карте, поместив его в виде креста, в то время черчения пронумерованные значения как круги с размером. Я использую:

ggplot(map_data, aes(easting, northing, size = Total.number)) + 
    geom_point(alpha = 2/3) 

Но значения NA не отображаются. Любая идея, как я это делаю?

Warning message: 
Removed 66 rows containing missing values (geom_point). 

ответ

2

Вы можете добавить еще один geom_point слоя только в том числе значения NA:

ggplot() + 
    geom_point(data=map_data, aes(easting, northing, size = Total.number), alpha = 2/3) + 
    geom_point(data=map_data[is.na(map_data$Total.number),], aes(easting, northing), shape=3) 

enter image description here

+0

благодарственный-х мне нужно, чтобы получить мою голову вокруг объединения нескольких участков – pluke

+2

Если вы установите 'AES (х = easting, y = northing) 'в исходном вызове' ggplot() ', потому что имена столбцов в обоих кадрах данных одинаковы, вам не пришлось бы повторно указывать эти сопоставления на каждом уровне. (Хотя вы хотите сохранить 'aes (size = Total.number)' только в первом точечном слое.) – Gregor

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