В наборе данных, созданном ниже, давайте представим, что я случайно выбрал 20 плоских камней. Каждой из этих скал был присвоен уникальный номер ID
. Я измерил концентрацию 7 веществ (Copper
, Iron
, Carbon
, Lead
, Mg
, CaCO
и Zinc
) по поверхности самой длинной оси каждой породы. Distance
записывается в мм и, следовательно, является функцией длины каждой породы. Обратите внимание, что не все Rocks
имеют одинаковую длину. Location
- это переменная группировки, которая описывает, где был выбран Rock
.
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. Первое наблюдение и последнее наблюдение
Как бы Я пишу функцию, которая проведет t-тест для каждой из этих точек (или среднее значение по n-точкам) для каждой переменной, и вставляю 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