Ось X на графике радости показывает неверные значения

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

library(ggjoy)

p <- ggplot(results, aes(foo, bar)) +  geom_joy()

Данные:

results <- structure(list(foo = c(462.834004209936, 460.834004209936, 73.0340042099357, 
106.134004209936, 165.634004209936, 200.134004209936, 490.434004209936, 
157.334004209936, 460.834004209936, 131.434004209936, 269.934004209936, 
457.534004209936, 459.634004209936, 475.534004209936, 180.034004209936, 
142.134004209936, 294.734004209936, 419.534004209936, 279.834004209936, 
280.734004209936, 448.034004209936, 206.334004209936, 283.134004209936, 
243.034004209936, 530.334004209936, 396.934004209936, 49.8340042099357, 
136.134004209936, 210.234004209936, 59.0340042099357, 269.834004209936, 
123.034004209936, 385.434004209936, 78.7340042099357, 226.434004209936, 
391.034004209936, 219.434004209936, 338.134004209936, 87.0340042099357, 
434.234004209936, 123.034004209936, 75.7340042099357, 247.234004209936, 
192.334004209936, 146.234004209936, 259.334004209936, 72.5340042099357, 
110.934004209936, 287.134004209936, 122.634004209936, 197.834004209936, 
379.334004209936), bar = structure(c(3L, 8L, 1L, 5L, 10L, 8L, 
7L, 9L, 8L, 10L, 9L, 8L, 8L, 9L, 2L, 3L, 5L, 6L, 9L, 1L, 3L, 
5L, 6L, 8L, 7L, 9L, 2L, 3L, 2L, 2L, 3L, 1L, 5L, 10L, 4L, 7L, 
5L, 6L, 8L, 8L, 1L, 8L, 8L, 9L, 5L, 6L, 5L, 6L, 7L, 9L, 1L, 9L
), .Label = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10"
), class = "factor")), .Names = c("foo", "bar"), row.names = c(NA, 
-52L), class = "data.frame")

введите описание изображения здесь

Я думаю, это может быть связано с stat:

Статистика

Статист по умолчанию, используемый с geom_joy, - stat_joy. Однако он может не делать именно то, что вы хотите, и есть другие статистические данные, которые можно использовать, которые могут быть лучше для вашего соответствующего приложения.

Во-первых, stat_joy оценивает диапазон данных и полосу пропускания для оценки плотности сразу по всем данным, а не по каждой отдельной группе данных. Этот выбор делает диаграммы движения более однородными, но оценки плотности в некоторых случаях могут сильно отличаться от того, что вы получили бы от geom_de density или stat_de density. Эту проблему можно решить, используя stat_de density с geom_joy. Это отлично работает, нам просто нужно убедиться, что мы сопоставили рассчитанную плотность с эстетикой высоты.


person aindap    schedule 31.08.2017    source источник
comment
Поделитесь пожалуйста данными и кодом.   -  person neilfws    schedule 01.09.2017
comment
обновляется данными и кодом.   -  person aindap    schedule 01.09.2017


Ответы (1)


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

ggplot(results, aes(foo, bar)) + 
 geom_point() +
 geom_joy(alpha=.3)   
person Lstat    schedule 01.09.2017