Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何计算两个50个数据点向量之间的逐点t测试?_R_Loops_T Test - Fatal编程技术网

R 如何计算两个50个数据点向量之间的逐点t测试?

R 如何计算两个50个数据点向量之间的逐点t测试?,r,loops,t-test,R,Loops,T Test,我有一个包含3个变量和50个实例(ID、pre和post)的数据框架 ID<- c("1","2","3","4","5","6","7","8","9","10") pre<- c("2.56802","2.6686","1.0145","0.2568","2.369","1.2365","0.6989","0.98745","1.09878","2.454658") post<-c("3.3323","2.66989","1.565656","2.58989","5.969

我有一个包含3个变量和50个实例(ID、pre和post)的数据框架

ID<- c("1","2","3","4","5","6","7","8","9","10")
pre<- c("2.56802","2.6686","1.0145","0.2568","2.369","1.2365","0.6989","0.98745","1.09878","2.454658")
post<-c("3.3323","2.66989","1.565656","2.58989","5.96987","3.12145","1.23565","2.74741","2.54101","0.23568")

dfw1<-data.frame(ID,pre,post)

ID该代码表明,在传统的5%置信水平下,您不能拒绝0差异的零假设:

ID<- c("1","2","3","4","5","6","7","8","9","10")
pre<- as.numeric(c("2.56802","2.6686","1.0145","0.2568","2.369","1.2365","0.6989","0.98745","1.09878","2.454658"))
post<-as.numeric(c("3.3323","2.66989","1.565656","2.58989","5.96987","3.12145","1.23565","2.74741","2.54101","0.23568"))
dfw1<-data.frame(ID,pre,post)
t.test(dfw1$pre,dfw1$post,alternative = c("two.sided"), conf.level = 0.95, paired=TRUE)

这背后的数学推理是什么?差异是多少?这可能很有用:。您需要使用原始数据集,而不仅仅是平均值,因此
t.test
可以计算std-dev,并查看您在每组中的观察值。另外,我可以看到pre和post,因此可能需要使用成对的
t.test
?Stack Overflow是一个问答网站,不是代码编写服务,请学习如何编写有效的问题。您将
pre
post
数值作为字符(引号)进行介绍,这是返回错误的可能性质。另外,你不应该在两个观测值之间计算t-ttest,而是在两个样本之间计算t-ttest。谢谢你的回答。我之前已经编写了这个代码行(dfw[,c(“pre”)],dfw[,c(“post”)]),这给了我整个列的结果。我想得到每一行数据的结果。因为这些点是前置和后置的,所以我假设原始问题可以考虑这是配对测试。可能想考虑添加< <代码>成对=真/<代码>到T.测试函数。@ Dave2e:正确,解决。shanky:你的意思是向量被放置为行而不是列吗?考虑到你不能测试人口的点对点的差异,正如你所说的。一个点自身值的平均值和方差为0:即,它在统计上总是与另一个点不同。@000andy8484--Dave我在一列中有50个值,我的前值只是前6个值的平均值,我的后值是第6到第10个值的平均值。我计划进行t检验,以了解在哪里有重大变化。为此,我编写了两个循环,并生成了两个向量,一个包含所有pre值,另一个包含所有post值。我计划用前后值进行t检验。
ID<- c("1","2","3","4","5","6","7","8","9","10")
pre<- as.numeric(c("2.56802","2.6686","1.0145","0.2568","2.369","1.2365","0.6989","0.98745","1.09878","2.454658"))
post<-as.numeric(c("3.3323","2.66989","1.565656","2.58989","5.96987","3.12145","1.23565","2.74741","2.54101","0.23568"))
dfw1<-data.frame(ID,pre,post)
t.test(dfw1$pre,dfw1$post,alternative = c("two.sided"), conf.level = 0.95, paired=TRUE)
Paired t-test

data:  dfw1$pre and dfw1$post
t = -2.1608, df = 9, p-value = 0.05899
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.18109315  0.04997355
sample estimates:
mean of the differences 
               -1.06556