В приведенном ниже наборе данных предположим, что я случайно выбрал 20 плоских камней. Каждой из этих скал был присвоен уникальный идентификационный номер. Я измерил концентрацию 7 веществ (медь, железо, углерод, свинец, Mg, CaCO и Zin c) по поверхности самой длинной оси каждой породы. Расстояние записывается в мм, и, следовательно, является функцией длины каждой породы. Обратите внимание, что не все скалы имеют одинаковую длину. Местоположение - это группирующая переменная, которая описывает, где была взята Скала.
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. Первое наблюдение и последнее наблюдение для каждого человека 2. Среднее из первых 3 наблюдений и последних 3 наблюдений для каждого индивидуальный 3. То же, что и шаг 2. для первого и последнего 5, 7 и 10 наблюдений, я хочу, чтобы новый фрейм данных был настроен следующим образом:
ID FirstPt First3 First5 First7 First10 LastPt Last3 Last5 Last7 Last10
12 … … … … … … … … … …
122
242
329
595
130
145
245
654
878
863
425
ect...
Как мне написать функцию для сообщник sh это?