ggplot2 отказывается отображать числовые значения - PullRequest
0 голосов
/ 16 июня 2020

Сейчас я пытаюсь создать простую коробочную диаграмму для своего университетского проекта и не могу понять, что делаю неправильно.

Мой текущий код выглядит следующим образом:

ggplot(wait_c_long, aes(x='Period', y='Days waited at the 50th percentile')) + geom_point()
wait_c_long = My dataframe

Period = Ordered factor class variable of time periods e.g. '2014-15'...'2018-19'.

Дней ожидания в 50-м процентиле = Числовая переменная среднего времени ожидания.

Вот скриншот моего набора данных для справки: Dataset Image Каждый раз, когда я запускаю указанную ранее команду это приводит к следующему выводу Output только с одной точкой данных и сообщает мне, что переменная на оси y является дискретной, хотя она числовая c.

В идеале я хотел бы создать простую диаграмму рассеяния с функцией geom_point, используя следующий aes(x='Period',y='Days waited at the 50th percentile', color = 'State', size = 'Admissions'), чтобы создать визуализацию данных из моего набора данных, которую я могу использовать в своем задании, поэтому любая помощь будет очень признательна.

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Попробуйте использовать обратные кавычки вместо апострофа для ваших переменных.

ggplot(wait_c_long, aes(x=`Period`, y=`Days waited at the 50th percentile`)) +
    geom_point()

wait_c_long = My dataframe

Period = Ordered factor class variable of time periods e.g. '2014-15'...'2018-19'.
0 голосов
/ 16 июня 2020

Обычно в пределах aes() вы не указываете имена столбцов фрейма данных, однако, когда в них есть пробелы, это не работает, поэтому вам нужно заключить в кавычки, используя открытые одинарные кавычки. Вы получите код:

library(ggplot2)

#Create an example dataset in the same format
wait_c_long <- data.frame(Period=1:5, Days=1:5)
names(wait_c_long)[2] <- 'Days waited at the 50th percentile'

#Use no quotes/forward quotes to reference the columns
ggplot(wait_c_long, aes(x=Period, y=`Days waited at the 50th percentile`)) + geom_point()

enter image description here

...