Расчет процентного изменения с использованием R с двумя независимыми переменными - PullRequest
0 голосов
/ 19 апреля 2020

Я определенно мог бы сделать это, используя ручку и калькулятор, но подумал, что было бы целесообразно сделать это в R. Я использовал Rmis c, чтобы создать таблицу средних значений, sd, se и ci для моих данных.

summarySE (данные = Chloro, "ChlorophyllSq", groupvars = c ("Лечение", "Время"), conf.interval = 0,95)

У меня есть три независимых переменных (лечение (4 фактора), время (5 факторов) и глубина (2 фактора)

Есть ли способ найти процентное изменение среднего значения хлорофилла между разными временными точками в разных обработках? Я хочу найти разницу между хлорофиллом между моментами времени 1 (предварительная обработка) и 5 ​​(последний момент времени) во всех различных обработках (1, 2, 3, 4).

Тогда я потенциально заинтересован в его разрушении также включить глубину в процентном изменении, но придется изменить сводку, чтобы включить глубину:

summarySE (data = Chloro, "ChlorophyllSq", groupvars = c ("Treatment", "Depth" , «Время»), conf.interval = 0,95)

1 Ответ

0 голосов
/ 19 апреля 2020

Вы можете использовать агрегат в R, чтобы получить среднее значение по группе лечения. aggregate(Chloro[,c("Treatment", "ChlorophyllSq")], by = list(Chloro$Treatment), FUN = mean)

Чтобы рассчитать процентное изменение, вы можете определить функцию для расчета изменения и применить его

pct <- function(x) {x/lag(x)}    
Chloro%>% group_by(Treatment) %>% mutate_each(funs(pct), c(ChlorophyllSq))

. Вы можете использовать dplyr, чтобы получить первую и последнюю строку

Chloro%>% group_by(Treatment)%>% filter(1:n() %in% range(1:n()))

...