У меня есть кадр данных, состоящий из результатов геохимических проб, который включает следующие переменные:
Year, Zone, *48 analyzed elements*, *more information*.
Я хочу знать, сколько проб было собрано каждый год в каждой зоне для каждого элемента.В общем, я хотел бы, чтобы таблица выглядела так:
Year,Zone,Ag_ppm, ..., Zr_ppm
1981, ZoneA, 0, ..., 0
1981, ZoneB, 20, ..., 0
1983, ZoneA, 0, ..., 150
Я пробовал следующее:
Elt_count <- SoilGeology %>%
group_by(Year, Zone) %>%
summarise_at(vars(Ag_ppm:Zr_ppm),funs(sum)) %>%
select(Year, Zone, Ag_ppm:Zr_ppm)
Это работает, но не дает мне информацию, которую я хочу(Я не хочу кумулятивную сумму отсчетов, а количество отсчетов).Затем я попытался:
Elt_count <- SoilGeology %>%
group_by(Year, Zone) %>%
summarise_at(vars(Ag_ppm:Zr_ppm),funs(n)) %>%
select(Year, Zone, Ag_ppm:Zr_ppm)
Но я получаю следующую ошибку: Error in summarise_impl(.data, dots) :
n () does not take arguments
Я также пытался:
d <- SoilGeology %>%
group_by(Year, Zone) %>%
summarise_all(n) %>%
select(Year, Zone, Ag_ppm:Zr_ppm)
Но я получаю ту же ошибку, что и выше: Error in summarise_impl(.data, dots) :
n () does not take arguments
А также пробовал со счетом:
Elt_count <- SoilGeology %>%
group_by(Year, Zone) %>%
count(Au_ppm:Zr_ppm, na.rm = TRUE) %>%
select(Year, Zone, Ag_ppm:Zr_ppm)
Но я получаю ошибку:
Error in mutate_impl(.data, dots) : Evaluation error: NA/NaN argument.
In addition: Warning messages:
1: In Au_ppm:Zr_ppm :
numerical expression has 52 elements: only the first used
2: In Au_ppm:Zr_ppm :
numerical expression has 52 elements: only the first used
У кого-нибудь есть объяснение этим ошибкам?Или лучшее решение для моей проблемы?
Спасибо!