为什么我的相关图输出为垂直行?

Why is my correlation plot output in vertical rows?

我正在尝试绘制两个 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")

示例数据:

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")

在我看来,这是由于数据是离散的而不是连续的(特别是因为你说的是​​“7 点变量”)。这意味着每个点都被精确地绘制在一堆其他点之上,因此无法看到有多少点。

尝试绘制带有一些抖动的散点图以更好地了解分布(这会在每个点的定位中注入一点随机性)。

操作方法如下:

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