有没有办法根据时间分量向散点图集群添加特定或自定义趋势线?

问题描述

我是一个相当新的 R 用户,我已经搜索了答案,但没有任何运气,所以我作为最后的手段发帖。

我有一个小数据集,用于测量 5 个不同物种随时间变化的小型哺乳动物形态变化。我使用变量 log Centroid Size 和 log +1 procrustes distance 为每个物种创建散点图。每个物种有 16 个点,每个坐标对应一个不同的时间点,可以追溯到 8000 年前。

我的数据格式为:

地层 物种 CS PD
1 cfor 1.33 1.512
2 cfor 1.31 1.490
3 cfor 1.25 1.399
... ... ... ...
1 pman 1.44 1.555
2 pman 1.39 1.439

这适用于所有 5 个物种,每个物种对 16 个时间点(层)中的每一个都有 16 行 CS(记录的质心大小)和 PD(procrustes 距离日志 + 1)测量值。

我想要散点图显示所有 5 个物种的质心大小和过程。距离彼此绘制,趋势线穿过每个椭圆,显示时间变化。下面是我到目前为止的散点图,除了从 16 点到 1 点显示每个物种的时间变化的趋势线之外,它什么都有。无论如何要添加:基于物种的趋势线考虑坐标的时间方面(即第 16 层到第 1 层坐标的整体趋势),或者最坏的情况,是否有办法添加自定义趋势线每个物种从最旧时间点到最新时间点的点簇。

然而,当我要添加一条趋势线时,R 想要添加一条沿 X 轴的趋势线。然而,我希望趋势线从时间点 16 到点 1。

这是我的代码,我尝试添加 geom_smooth()、arrows() 和 line() 命令,但所有这些都创建了一种趋势,该线以点的斜率定向。它没有认识到这些点具有时间分量,并且 X 的增加并不一定意味着 Y 的增加。

这是我当前的图:物种形态空间

enter image description here

以下是使用 geom_smooth() 的趋势线:使用 geom_smooth() 的 Species Morpho-space

enter image description here

####PLOT SPECIES IN MORPHO-SPACE
ggplot(cforpman,aes(CS,PD,colour=Species,shape = Species)) +
  xlab("Centroid Size (log)") +
  ylab("Procrustes Distance (log + 1)") + 
  geom_point() +
  theme_bw() +
  stat_ellipse()

### ADD ARROWS BETWEEN POINTS
arrows(df[-nrow(df),2],df[-nrow(df),3],df[-1,3])
              

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)