gpt4 book ai didi

r - 使用 ggplot2 绘制 R 中数据的逐年相关性散点图

转载 作者:行者123 更新时间:2023-12-04 18:39:01 24 4
gpt4 key购买 nike

我有一些年度足球数据,我想测试一下,看看某些球队指标在明年是否可以重复。我的数据在 data.frame 中,看起来像这样:

                    y2003    y2004    y2005
Team 1 51.95455 51.00000 53.59091
Team 2 54.18182 56.31818 49.09091
Team 3 48.68182 46.86364 49.22727
Team 4 50.86364 47.68182 48.72727

我想要做的是散点图,在 x 轴上使用“Year n”,在 y 轴上使用“Year n+1”。因此,例如 2003 年与 2004 年、2004 年与 2005 年、2005 年与 2006 年等都在同一个图上。

然后,我希望能够绘制一条最佳拟合线,以查看相关性有多强,无论它是否可重复。

使用 ggplot2 在 R 中执行此操作的最佳方法是什么?我可以通过以下方式获得初始图:
 p=ggplot(df,aes(y2003,y2004))
p + geom_point()

那么我是否只需要手动添加它们?这种事情有内置功能吗?如果我将它们全部一一添加,我将如何获得最佳拟合?

最佳答案

您需要使数据ggplot“友好”,然后很容易:

df <- read.table(text=" y2003   y2004   y2005
Team1 51.95455 51 53.59091
Team2 54.18182 56.31818 49.09091
Team3 48.68182 46.86364 49.22727
Team4 50.86364 47.68182 48.72727
")

#make data ggplot friendly
mycomb <- combn(colnames(df),2)
plotDat <- do.call(rbind,
lapply(1:ncol(mycomb),function(i){
res <- df[,mycomb[,i]]
colnames(res) <- c("x","y")
res$Group <- paste(mycomb[,i],collapse="-")
res
}))

#plot
library(ggplot2)
ggplot(plotDat,aes(x,y,col=Group)) +
geom_point()

enter image description here

关于r - 使用 ggplot2 绘制 R 中数据的逐年相关性散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30644623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com