У меня есть четыре местообитания и по три участка на каждое местообитание, всего двенадцать участков. Я хочу получить среднюю частоту видов для каждого типа среды обитания, т.е. я хочу разделить частоту на три (количество участков на среду обитания). Мне нужно создать новый кадр данных, используя среду обитания, виды и среднюю частоту, которые будут использоваться в ggplot.
Не все виды присутствуют на каждом сайте, поэтому я не думаю, что могу использовать переменный сайт.
Мой набор данных выглядит так
Habitat Site Species Frequency
A A1 T 3
A A2 T 4
A A3 U 5
B B2 V 12
C C2 V 3
D D3 X 2
Я пробовал использовать
Mean_Frequency<-df[,4]/3
Это делит четвертый столбец (частота) на три, но не содержит переменных среды обитания и видов.
1 ответ
Если вы просто хотите добавить к данным столбец, равный частоте / 3:
df$Mean_Frequency <- df$Frequency / 3
Если вы хотите рассчитать среднюю частоту встречаемости каждого вида в среде обитания:
library(data.table)
setDT(df)[, .(Mean_Frequency = mean(Frequency)), .(Habitat, Species)]
Похожие вопросы
Новые вопросы
r
R — это бесплатный язык программирования с открытым исходным кодом и программная среда для статистических вычислений, биоинформатики, визуализации и общих вычислений. Пожалуйста, используйте минимально воспроизводимые примеры, которые другие могут запустить с помощью копирования и вставки. Показать желаемый результат. Используйте dput() для данных и укажите все небазовые пакеты с помощью library(). Не вставляйте изображения для данных или кода, вместо этого используйте блоки кода с отступом. Для вопросов по статистике используйте https://stats.stackexchange.com.