Geom_line () не работает в ggplot, используя сгруппированные данные

Я пытаюсь сравнить среднее количество отзывов, которые получает приложение для Android, в зависимости от месяца, в котором оно было обновлено в последний раз. Вот мой график code / geom_point:

# Creating a group-means data set
gd <- appset %>% group_by(Month) %>% summarize(Reviews=mean(Reviews))

ggplot(appset, aes(Month, log(Reviews))) +
geom_point(data=gd) + scale_x_discrete(limits = month.abb)

Точечная диаграмма

Моя проблема: мне удалось создать диаграмму рассеяния, но я хотел бы соединить точки с помощью geom_line () или geom_path (), но вместо этого я продолжаю получать ту же диаграмму рассеяния с вертикальными линиями, тянущимися от оси x через каждую точку . Вот мой код и изображение:

ggplot(appset, aes(Month, log(Reviews))) +
geom_point(data=gd) + geom_line() +
scale_x_discrete(limits = month.abb)

Попытка использовать geom_line ()

Пожалуйста, прочтите информацию о как задать хороший вопрос и о том, как дать воспроизводимый пример. Это облегчит другим помощь вам.

zx8754 31.10.2018 13:30

Вероятно дубликат вопроса здесь: stackoverflow.com/questions/15043956/connecting-points

user126082 31.10.2018 13:33

Привет! Благодарность! Я думаю, что мой вопрос довольно ясен, и, к сожалению, другой предложенный пост не применяется, и ответы не решают мою дилемму. Я работаю с сгруппированными данными, и я думаю, что проблема здесь в

santma 31.10.2018 13:45

Без воспроизводимого примера (включая образцы данных) сложно ответить на ваш вопрос. Одна вещь, которую следует попробовать, - это изменить ваш код для чтения geom_line(data=gd), поскольку в противном случае данные наследуются от исходного вызова ggplot (в дополнение к добавлению group=1 к вызову ggplot, как предлагается в дублированном вопросе, упомянутом выше).

iod 31.10.2018 13:49

Есть ли конкретная причина, по которой вы передаете appset в качестве основных данных, если все ваши баллы взяты из gd?

iod 31.10.2018 13:50

Привет, йод, Спасибо, что ответили на мой вопрос! Нет причин, кроме того, что я новичок. Я передал gd в качестве основных данных, и это сработало! благодарю вас!

santma 31.10.2018 13:53

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

iod 31.10.2018 13:55
1
7
1 027
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для справки в будущем:

ggplot(appset, aes(Month, log(Reviews))) +
geom_point(data=gd) + geom_line(data=gd) +
scale_x_discrete(limits = month.abb)

Вам нужно добавить data=gd к вызову geom_line, иначе данные наследуются от исходного вызова ggplot.

Другие вопросы по теме