如何在R中找到两组数据的p值?

如何在R中找到两组数据的p值?,r,p-value,R,P Value,对于R,我有两个数据集,它们具有相同的x轴值,但y轴不同 我想找出两者之间的关联。当我使用R通过散点图绘制a线s时,它给了我两条最佳拟合线,似乎使一个数据集高于另一个数据集——但我真的想知道这两个数据集之间的p值以了解效果 在查找之后,似乎我应该使用t.test——但我不确定如何让它们相互运行 例如,如果我运行: t.test(t1$xaxis,t1$yaxis1) t.test(t2$xaxis,t2$yaxis2) 它给出了x和y的正确平均值(t1:16.84,88.58和t2:14.79

对于R,我有两个数据集,它们具有相同的x轴值,但y轴不同

我想找出两者之间的关联。当我使用R通过散点图绘制
a线
s时,它给了我两条最佳拟合线,似乎使一个数据集高于另一个数据集——但我真的想知道这两个数据集之间的p值以了解效果

在查找之后,似乎我应该使用
t.test
——但我不确定如何让它们相互运行

例如,如果我运行:

t.test(t1$xaxis,t1$yaxis1)
t.test(t2$xaxis,t2$yaxis2)
它给出了x和y的正确平均值(t1:16.84,88.58和t2:14.79,86.14)——但对于其余部分,我不确定:

t1:t=-43.8061,df=105.994,p值<2.2e-16

t2:t=-60.1593,df=232.742,p值<2.2e-16

显然,给出的p值是(a)微观的,(b)我不知道如何让它告诉我数据集之间的关系——而不是单独的关系


非常感谢您的帮助,谢谢

您是否考虑过基于x轴合并数据集,以便数据结构如下所示:

X Y1 Y2


然后,您可以找到所需的任何列之间的相关性。

您是否考虑过基于x轴合并数据集,以便您的数据结构如下所示:

X Y1 Y2


然后你可以找到你想要的任何一列之间的相关性。

从你上面的评论来看,看起来你是在进行两个样本的均值测试。这就是你想要的吗?如果是,

set.seed(1)
y1 = rnorm(100)
y2 = rnorm(120, mean=0.1)

results = t.test(y1,y2)
results$p.value

从你上面的评论来看,看起来你是在进行两个样本的平均数测试。这就是你想要的吗?如果是,

set.seed(1)
y1 = rnorm(100)
y2 = rnorm(120, mean=0.1)

results = t.test(y1,y2)
results$p.value

您可以使用
cor
函数轻松找到变量之间的相关性。在本例中,我首先使用数据帧,然后使用矩阵。我们可以很容易地看到变量之间关系的强度

> d <- data.frame(y1 = runif(10), y2 = rnorm(10), y3 = rexp(10))
> cor(d)
##            y1         y2         y3
## y1  1.0000000 -0.3319495 -0.4013154
## y2 -0.3319495  1.0000000  0.1370312
## y3 -0.4013154  0.1370312  1.0000000
>d cor(d)
##y1 y2 y3
##y1 1.0000000-0.3319495-0.4013154
##y2-0.3319495 1.0000000.1370312
##y3-0.4013154 0.1370312 1.0000000
使用矩阵

> m <- matrix(c(runif(10), rnorm(10), rexp(10)), 10, 3)
> cor(m)
##            [,1]       [,2]      [,3]
## [1,]  1.0000000 -0.1971826 0.3622307
## [2,] -0.1971826  1.0000000 0.4973368
## [3,]  0.3622307  0.4973368 1.0000000
>m cor(m)
##            [,1]       [,2]      [,3]
## [1,]  1.0000000 -0.1971826 0.3622307
## [2,] -0.1971826  1.0000000 0.4973368
## [3,]  0.3622307  0.4973368 1.0000000

有关更多信息,请参见
示例(cor)

您可以使用
cor
函数轻松找到变量之间的相关性。在本例中,我首先使用数据帧,然后使用矩阵。我们可以很容易地看到变量之间关系的强度

> d <- data.frame(y1 = runif(10), y2 = rnorm(10), y3 = rexp(10))
> cor(d)
##            y1         y2         y3
## y1  1.0000000 -0.3319495 -0.4013154
## y2 -0.3319495  1.0000000  0.1370312
## y3 -0.4013154  0.1370312  1.0000000
>d cor(d)
##y1 y2 y3
##y1 1.0000000-0.3319495-0.4013154
##y2-0.3319495 1.0000000.1370312
##y3-0.4013154 0.1370312 1.0000000
使用矩阵

> m <- matrix(c(runif(10), rnorm(10), rexp(10)), 10, 3)
> cor(m)
##            [,1]       [,2]      [,3]
## [1,]  1.0000000 -0.1971826 0.3622307
## [2,] -0.1971826  1.0000000 0.4973368
## [3,]  0.3622307  0.4973368 1.0000000
>m cor(m)
##            [,1]       [,2]      [,3]
## [1,]  1.0000000 -0.1971826 0.3622307
## [2,] -0.1971826  1.0000000 0.4973368
## [3,]  0.3622307  0.4973368 1.0000000

更多信息,请参见示例(cor)。

既然是您要求的,下面是我如何理解您的问题的

有两组y值对应于相同的x值。这里我假设y和x之间的关系是线性的。如果不是,你可以变换你的变量,使用非线性模型,加法模型

首先,让我们模拟一些数据,因为您没有提供任何:

set.seed(42)
x <- 1:20
y1 <- 2.5 + 3 * x +rnorm(20)
y2 <- 4 + 2.5 * x +rnorm(20)

plot(y1~x, col="blue", ylab="y")
points(y2~x, col="red")
legend("topleft", legend=c("y1", "y2"), col=c("blue", "red"), pch=1)

正如您所看到的,这些样本是不同的。

既然是您要求的,下面是我如何理解您的问题的

有两组y值对应于相同的x值。这里我假设y和x之间的关系是线性的。如果不是,你可以变换你的变量,使用非线性模型,加法模型

首先,让我们模拟一些数据,因为您没有提供任何:

set.seed(42)
x <- 1:20
y1 <- 2.5 + 3 * x +rnorm(20)
y2 <- 4 + 2.5 * x +rnorm(20)

plot(y1~x, col="blue", ylab="y")
points(y2~x, col="red")
legend("topleft", legend=c("y1", "y2"), col=c("blue", "red"), pch=1)

正如你所见,样本是不同的。

你是说两个样本的t检验吗?这个问题没有(统计学)意义。两个数据集之间的相关性?两个数据集之间的p值?两条“最佳拟合线”是什么?您想要p值还是相关矩阵?我在想,
cor
可能是你想要的。@RichardScriven我相信我是——但我只是建议使用t检验,因为在研究了R(自学,如果你说不出来的话)之后,它似乎是最接近的东西。我注意到,当我运行类似于
t.test(t1$xaxis,t1$yaxis)
的代码时,结果是一个Welch双样本t-test,我在上面发布了它。@djas抱歉——你可能是对的。本质上,我只是想知道我的替代假设(即t1的y值大于t2的y值)是否有足够低的p值来拒绝零假设(即没有差异)。这更有意义吗?你说的是两个样本的t检验吗?这个问题没有(统计学)意义。两个数据集之间的相关性?两个数据集之间的p值?两条“最佳拟合线”是什么?您想要p值还是相关矩阵?我在想,
cor
可能是你想要的。@RichardScriven我相信我是——但我只是建议使用t检验,因为在研究了R(自学,如果你说不出来的话)之后,它似乎是最接近的东西。我注意到,当我运行类似于
t.test(t1$xaxis,t1$yaxis)
的代码时,结果是一个Welch双样本t-test,我在上面发布了它。@djas抱歉——你可能是对的。本质上,我只是想知道我的替代假设(即t1的y值大于t2的y值)是否有足够低的p值来拒绝零假设(即没有差异)。这更有意义吗?谢谢!这是非常有用的——如果将来没有相同的x变量,是否也有类似的方法来实现这一点?当然,只需忽略它。那部分真的不相关。我会编辑的。再次感谢!还有一件事——如果一个数据集中的行比另一个数据集中的行多/少,有没有类似的方法来实现这一点