R: Сюжет работает, а ggplot - нет - PullRequest
0 голосов
/ 18 апреля 2011

У меня есть некоторые данные о выборах 2008 года, которые я собрал в надежде сделать пару рисунков о внепартийном голосовании.Данные выглядят так:

> voting
  voteObama voteMcCain      partyID totalvote outvotenumber outVoteProportion
1  325.5233    16.3212 1-Strong Dem  341.8445       16.3212        0.04774452
2  202.7162    32.6342   2-Weak Dem  235.3504       32.6342        0.13866218
3  201.8810    20.7225   3-Lean Dem  222.6035       20.7225        0.09309153
5   32.2052   143.3616   5-Lean Rep  175.5668       32.2052        0.18343559
6   26.6978   204.2876   6-Weak Rep  230.9854       26.6978        0.11558220
7    9.3775   245.7965 7-Strong Rep  255.1740        9.3775        0.03674943

Я хотел бы использовать библиотеку ggplot2, и раньше мне это удавалось.Я ожидаю, что следующая команда выдаст мне нужный график:

> g <- ggplot(data=voting, aes(x=partyID, y=outVoteProportion))
> g + geom_line()

Отображается графическое окно со всеми правильными метками и масштабами, но не отображаются никакие данные.Если я строю некоторые случайные данные с помощью ggplot, он работает нормально, также, если я строю эти данные с помощью plot:

> plot(as.factor(voting$partyID), voting$outVoteProportion)

, он также работает нормально.Я не уверен, в чем проблема.Это в структуре фрейма данных голосования?Или как я строю свой объект ggplot?Я ожидал, что это сработает, но, видимо, я что-то упустил.

Редактировать По запросу вывод dput (голосование)

structure(list(voteObama = c(325.523299649358, 202.716199040413, 
201.880999490619, 32.2051995545626, 26.6977999508381, 9.37749981880189
), voteMcCain = c(16.3212000578642, 32.634199783206, 20.7224997878075, 
143.361599132419, 204.287599071860, 245.796498090029), partyID = c("1-Strong Dem", 
"2-Weak Dem", "3-Lean Dem", "5-Lean Rep", "6-Weak Rep", "7-Strong Rep"
), totalvote = c(341.844499707222, 235.350398823619, 222.603499278426, 
175.566798686981, 230.985399022698, 255.173997908831), outvotenumber = c(16.3212000578642, 
32.634199783206, 20.7224997878075, 32.2051995545626, 26.6977999508381, 
9.37749981880189), outVoteProportion = c(0.0477445156257969, 
0.138662181778002, 0.0930915275590001, 0.183435591441075, 0.115582197246219, 
0.0367494333108043)), .Names = c("voteObama", "voteMcCain", "partyID", 
"totalvote", "outvotenumber", "outVoteProportion"), row.names = c("1", 
"2", "3", "5", "6", "7"), class = "data.frame")

Ответы [ 2 ]

3 голосов
/ 18 апреля 2011

Публикация комментария как ответа.Прочтите это FAQ , чтобы понять, почему 'geom_line () `не производит строки

2 голосов
/ 18 апреля 2011

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

g + geom_bar()

, чтобы получить что-то вроде

geom_bar()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...