У меня есть датафрейм (это всего лишь подмножество полного кадра):
Depth <- seq(0, 2, 0.2)
cps <- sample(48000:52000, 11)
Al <- rnorm(11)
Si <- rnorm(11)
Fe <- rnorm(11)
df <- as_tibble(cbind(Depth, cps, Al, Si, Fe))
Когда я использую mutate_at для выполнения функции только для выбранных переменных, конечный df по-прежнему содержит переменные, которые я выбрал для исключить. Таким образом,
df_norm <- df %>%
mutate_at(vars(-c(Depth, cps)), ~abs(log(./df$cps)))
выполняет функцию для Al, Si, Fe, а df_norm по-прежнему является выпадением 11x5 с глубиной и cps, не изменяющимися от df. Тем не менее, когда я делаю аналогичный ход с summarise_at:
df_mean <- df %>%
summarise_at(vars(-c(Depth, cps)), mean)
, результирующий фрейм данных составляет только 1x3 вместо 1x5, т.е. он удаляет Depth и cps вместо того, чтобы просто игнорировать их для усреднения. Есть ли другой способ, которым я должен написать аргумент vars, чтобы сохранить их?
РЕДАКТИРОВАТЬ Я бы хотел, чтобы мой вывод был одним наблюдением (вектором) со всеми 5 переменными [1,5] при медианном значении глубины (в данном случае 1).