首页 > 解决方案 > 如何编写一个使用配对 t 检验比较时间序列数据点的函数

问题描述

在下面创建的数据集中,假设我随机捡起 20 块平坦的岩石。这些岩石中的每一个都被分配了一个唯一的ID编号。我测量了每块岩石最长轴表面上7 种物质( CopperIronCarbonLeadMgCaCO和)的浓度。以毫米为单位记录,因此是每个岩石长度的函数。请注意,并非所有的长度都相同。是一个分组变量,描述拾取的位置。ZincDistanceRocksLocationRock

ID <- data.frame(ID=rep(c(12,122,242,329,595,130,145,245,654,878), each = 200))
ID2 <- data.frame(ID=rep(c(863,425,24,92,75,3,200,300,40,500), each = 300))
RockID<-data.frame(RockID = c(unlist(ID), unlist(ID2)))
Location <- rep(c("Alpha","Beta","Charlie","Delta","Echo"), each = 1000)
a <- rep(c(1:200),times = 10)
b <- rep(c(1:300), times = 10)
Time <- data.frame(Time = c(unlist(a), unlist(b)))
set.seed(1)
Copper <- rnorm(5000, mean = 0, sd = 5)
Iron <- rnorm(5000, mean = 0, sd = 10)
Carbon <- rnorm(5000, mean = 0, sd = 1)
Lead <- rnorm(5000, mean = 0, sd = 4)
Mg <- rnorm(5000, mean = 0, sd = 6)
CaCO <- rnorm(5000, mean = 0, sd = 2)
Zinc <- rnorm(5000, mean = 0, sd = 3)
data <-cbind(RockID, Location, Time,Copper,Iron,Carbon,Lead,Mg,CaCO,Zinc)
data$ID <- as.factor(data$RockID)

对于每种物质,我想知道这些岩石中以下点之间是否通常存在显着差异: 1. 第一次观察和前 5 次的平均值、前 7 次的平均值和前 10 次观察的平均值 2 . 最后一次观察和最后 5 次的平均值 最后 7 次的平均和最后 10 次观察的平均值 3. 第一次观察和最后一次观察

我将如何编写一个函数,对每个变量的每个点(或 n 点的平均值)进行 t 检验,并将 p 值粘贴到结构如下的数据框中:

Points               Copper   Iron   Carbon   Lead   Mg   CaCO   Zinc

Point1.vs.First5      …       …        …       …     …     …     … 
Point1.vs.First7
Point1.vs.First10
Pointn.vs.Last5
Pointn.vs.Last7
Pointn.vs.Last10
Point1.vs.Pointn

标签: rfunctiontime-seriescomparison

解决方案


推荐阅读