У меня есть файл csv с набором данных экспериментальных значений многих образцов, а иногда и копий одного и того же образца. Для повторов я учитываю только среднее значение повторов, принадлежащих одной и той же выборке. Проблема в том, что количество повторов разное, может быть 2, 3, 4 и т.д...
Мой код неверен, потому что он должен работать только в том случае, если число реплик равно 2 (поскольку я использую цикл для сравнения одного идентификатора образца с предыдущим идентификатором образца в цикле). Кроме того, мой код не работает, он добавляет одно и то же среднее значение ко всем моим образцам, что неправильно. Я думаю, что есть проблема в начале цикла тоже. Потому что, когда x=1, x-1=0, что не соответствует никакому значению, это может привести к тому, что код не будет работать? Я новичок в R, у меня никогда не было курсов или тренингов, я учусь, чтобы изучить его самостоятельно, поэтому заранее спасибо за вашу помощь.
Мой набор данных:
Ожидаемый результат:
PS: в этом примере количество повторов равно 2. Однако оно может быть разным в зависимости от образцов, иногда 2, иногда 3, 4 и т.д...
for (x in length(dat$Sample)){
if (dat$Sample[x]==dat$Sample[x-1]){
dat$Average.OD[x-1] <- mean(dat$OD[x], dat$OD[x-1])
dat$Average.OD[x] <- NA
}
}
for (x in length(dat$Sample))
повторяется только один раз, когдаx
равноlength(dat$Sample)
, должно быть2:length(dat$Sample)
. Также: посмотрите, является ли это тем, что вам нужно. - person Rui Barradas   schedule 19.07.2019ave(dat$Sample, dat$Sample, FUN = mean, na.rm = TRUE)
илиtapply(dat$Sample, dat$Sample, FUN = mean, na.rm = TRUE)
- person Rui Barradas   schedule 19.07.2019