Сглаживание ядра для матричных данных 0-1 в R - PullRequest
0 голосов
/ 04 июля 2019

У меня есть два фрейма данных следующей формы.

DATA FRAME 2 df
p1_ht p2_ht perc_won
  175   188    0.377
  188   180    0.518
...

p1_ht - рост игрока 1, p2_ht - рост игрока 2, а perc_won - процент игрвыиграно игроком 1, когда она p1_ht см в высоту и ее противник p2_ht см в высоту.

Моя цель состоит в том, чтобы выяснить, как влияет высота игрока на исход.

Я хотел бы построить тип тепловой карты со следующими свойствами: при координате (x,y) взятое значение z - это вероятность того, что игрок с ростом x победит игрока с высотой y.

Однако мои данные разбиваются на куски размером примерно 2,5 см (я думаю, что они соответствуют одному дюйму).


Идея. Для каждого местоположения (p1_ht, p_2ht), поместите точку сz значение соответствующего элемента perc_won.Теперь используйте некоторый тип плотности / сглаживания ядра для интерполяции (плавно) между местами, где у меня есть данные, например, (180, 188) и (183, 188).Тем не менее, я не знаю, как это сделать, и не смог узнать в Интернете.Я хотел бы написать что-то вроде этого:

ggplot(df, aes(x = p1_ht, y = p2_ht)) +
geom_density_2d(aes(fill = perc_won))

однако, как многие из вас читают это, это не сработает.


Любой совет о том, каксделать это будет наиболее ценно!Если возможно, я бы хотел использовать пакет ggplot, так как я пытаюсь научиться правильно его использовать.

...