У меня есть набор данных о поведении при нырянии от помеченных животных, и я изо всех сил пытаюсь подогнать кривую к данным, я думаю, в основном потому, что переменная X в этом случае является категориальной, а не непрерывными данными. Позвольте мне дать немного предыстории:
В моем наборе данных 184 наблюдения 14 переменных:
tagID ddmmyy Hour.GMT.Hour.Local. X0 X3 X10 X20 X50 X100 X150 X200 X300 X400
1 122097 250912 0 9 0.0 0.0 0.3 12.0 15.3 59.6 12.8 0.0 0 0
2 122097 260912 0 9 0.0 2.4 6.9 5.5 13.7 66.5 5.0 0.0 0 0
3 122097 260912 6 15 0.0 1.9 3.6 4.1 12.7 39.3 34.6 3.8 0 0
4 122097 260912 12 21 0.0 0.2 5.5 8.0 18.1 61.4 6.7 0.0 0 0
5 122097 280912 6 15 2.4 9.3 6.0 3.4 7.6 21.1 50.3 0.0 0 0
6 122097 290912 18 3 0.0 0.2 1.6 6.4 41.4 50.4 0.0 0.0 0 0
Меня интересуют переменные X0:X400
. Это интервалы глубины, и значения представляют собой процент от общего времени в течение этого периода дня, которое животное провело в этом интервале глубин. Итак, в первой строке он провел 0% своего времени между 0–3 метрами, 59,6% своего времени между 100–150 метрами и т. Д. С небольшой помощью некоторых ответов на мой последний вопрос здесь, о stackoverflow, я вычислил средний% времени, проведенного этим животным в каждой глубинной ячейке:
diving.means <- colMeans(diving[, -(1:4)])
lowerIntervalBound <- gsub("X", "", names(diving)[-(1:4)])
lowInts <- as.numeric(lowerIntervalBound)
plot(x=factor(lowInts), y=diving.means, xlab="Depth Bin (Meters—Lower Bound)", ylab="% Time Spent")
который предоставил мне этот сюжет:
К сожалению, поскольку мои данные - это средства (одно значение), а не частоты, я не мог понять, как построить их в виде гистограммы ... Это ни здесь, ни там, так как я могу легко просто ввести их как значения и сделать желаемый сюжет, если необходимо .. но пока это помогает аналитически.
Теперь у меня есть несколько животных и разные временные шкафы, которые я хотел бы сравнить. В конечном итоге я разработаю систему взвешивания времени, проведенного в ячейках, чтобы получить среднюю глубину для статистического сравнения, но сейчас я просто хочу сравнить их визуально, качественно, а также создать графики, которые я могу использовать в презентациях и, в конечном итоге, публикации. Я бы хотел создать кривую плотности, представляющую мою «гистограмму», а затем построить эти кривые из нескольких сценариев на одном графике для сравнения. Однако я не могу заставить эту работу работать с функцией density()
, так как у меня нет данных о частоте. У меня вроде уже есть рассчитанные плотности как% времени, проведенного в каждом бункере ... но они не представлены в исходном формате в моем наборе данных как частоты категорий, из которых я могу затем сделать гистограммы и кривые плотности.
Вот как выглядят мои данные:
> diving.means
X0 X3 X10 X20 X50 X100 X300 X400 X150 X200
3.330978261 3.299456522 8.857608696 17.646195652 30.261413043 29.356521739 6.445108696 0.664130435 0.135869565 0.001630435
or:
> df<-data.frame(lowInts, diving.means)
> df
lowInts diving.means
X0 0 3.330978261
X3 3 3.299456522
X10 10 8.857608696
X20 20 17.646195652
X50 50 30.261413043
X100 100 29.356521739
X150 150 6.445108696
X200 200 0.664130435
X300 300 0.135869565
X400 400 0.001630435
И то, что я хотел бы создать, выглядит примерно так (случайно извлечено из публикации - оси не связаны с моими данными):
а затем уметь изолировать кривые и построить их вместе.
Спасибо за любую помощь, которую вы можете оказать!
fitdistcens
из пакетаfitdistrplus
. - person dnlbrky   schedule 25.06.2013