Почему мой график корреляции выводится в вертикальных строках? - PullRequest
1 голос
/ 06 мая 2019

Я пытаюсь построить базовую корреляцию между двумя 7-точечными переменными.Я получаю корреляцию 0,72, но точки данных - это просто одна точка в каждой числовой точке на графике (как просто точки, равномерно распределенные в строках).Я дважды проверил, чтобы убедиться, что переменные являются числовыми (они есть).Я попробовал несколько разных способов построить график, точки всегда получаются одинаковыми.Есть идеи?

Код:

library("ggpubr")
ggscatter(plotdata, x = "TID", y = "PID7", use = "complete.obs",
      add = "reg.line", conf.int = TRUE, 
      cor.coef = TRUE, cor.method = "pearson",
      xlab = "X", ylab = "Y")

Scatter Plot

Пример данных:

dput(head(plotdata, 20))

structure(list(plotdata.TID = c(7, 1, 3, 5, 5, 7, 7, 6, 1, 4, 
1, 4, 1, 1, 7, 7, 1, 1, 1, 4), plotdata.PID7 = c(1, 1, 3, 6, 
6, 7, 6, 6, 2, 7, 1, 4, 1, 1, 7, 6, 2, 3, 2, 4)), row.names = c(NA, 
20L), class = "data.frame")

1 Ответ

2 голосов
/ 06 мая 2019

Мне кажется, что это связано с тем, что данные являются дискретными, а не непрерывными (тем более, что вы сказали «7-точечные переменные»). Это означает, что каждая точка отображается точно поверх множества других точек, что делает невозможным увидеть, сколько их.

Попробуйте построить диаграмму рассеяния с некоторым джиттером, чтобы получить лучшее представление о распределении (это добавляет немного случайности при позиционировании каждой точки).

Вот как это сделать:

https://ggplot2.tidyverse.org/reference/position_jitter.html

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