Частотный анализ данных, зависящих от времени, в R

У меня есть данные, зависящие от времени, от записи животных. Мои данные имеют две группы (TR и UT), каждая группа имеет 20 повторений. Переменная Tiempo (время) изменяется с 282 до 318 секунд. У меня есть поворотный момент на 300 секунде, когда я включаю световой стимул. Я регистрирую ответ, который конвертирую в целочисленное числовое значение.

Подмножество данных выглядит так

> dput(sub)
structure(list(tiempo = c(282, 282.2, 282.4, 282.6, 282.8, 283, 
283.2, 283.4, 283.6, 283.8, 284, 284.2, 284.4, 284.6, 284.8, 
285, 285.2, 285.4, 285.6, 285.8, 286, 286.2, 286.4, 286.6, 286.8, 
287, 287.2, 287.4, 287.6, 287.8, 288, 288.2, 288.4, 288.6, 288.8, 
289, 289.2, 289.4, 289.6, 289.8, 290, 290.2, 290.4, 290.6, 290.8, 
291, 291.2, 291.4, 291.6, 291.8, 292, 292.2, 292.4, 292.6, 292.8, 
293, 293.2, 293.4, 293.6, 293.8, 294, 294.2, 294.4, 294.6, 294.8, 
295, 295.2, 295.4, 295.6, 295.8, 296, 296.2, 296.4, 296.6, 296.8, 
297, 297.2, 297.4, 297.6, 297.8, 298, 298.2, 298.4, 298.6, 298.8, 
299, 299.2, 299.4, 299.6, 299.8, 300, 300.2, 300.4, 300.6, 300.8, 
301, 301.2, 301.4, 301.6, 301.8, 302, 302.2, 302.4, 302.6, 302.8, 
303, 303.2, 303.4, 303.6, 303.8, 304, 304.2, 304.4, 304.6, 304.8, 
305, 305.2, 305.4, 305.6, 305.8, 306, 306.2, 306.4, 306.6, 306.8, 
307, 307.2, 307.4, 307.6, 307.8, 308, 308.2, 308.4, 308.6, 308.8, 
309, 309.2, 309.4, 309.6, 309.8, 310, 310.2, 310.4, 310.6, 310.8, 
311, 311.2, 311.4, 311.6, 311.8, 312, 312.2, 312.4, 312.6, 312.8, 
313, 313.2, 313.4, 313.6, 313.8, 314, 314.2, 314.4, 314.6, 314.8, 
315, 315.2, 315.4, 315.6, 315.8, 316, 316.2, 316.4, 316.6, 316.8, 
317, 317.2, 317.4, 317.6, 317.8, 318), TR2x45.1 = c(0L, 0L, 0L, 
0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L), TR2x45.10 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 0L, 1L, 2L, 1L, 0L), TR2x45.11 = c(0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L), TR2x45.12 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), TR2x45.8 = c(0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L), TR2x45.9 = c(0L, 4L, 4L, 4L, 3L, 0L, 4L, 3L, 
5L, 3L, 4L, 5L, 4L, 4L, 3L, 3L, 3L, 5L, 4L, 4L, 3L, 4L, 5L, 4L, 
2L, 5L, 3L, 5L, 4L, 5L, 3L, 4L, 4L, 4L, 3L, 5L, 3L, 5L, 4L, 4L, 
3L, 3L, 6L, 4L, 4L, 2L, 3L, 4L, 2L, 4L, 5L, 4L, 3L, 5L, 3L, 3L, 
4L, 4L, 4L, 3L, 3L, 4L, 3L, 3L, 3L, 3L, 5L, 4L, 4L, 3L, 3L, 2L, 
4L, 3L, 4L, 3L, 4L, 4L, 3L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 0L, 2L, 
2L, 4L, 4L, 3L, 3L, 11L, 3L, 3L, 4L, 3L, 1L, 4L, 3L, 2L, 2L, 
2L, 2L, 1L, 1L, 1L, 0L, 1L, 2L, 3L, 1L, 1L, 0L, 1L, 0L, 1L, 1L, 
2L, 1L, 7L, 2L, 5L, 1L, 2L, 2L, 1L, 1L, 1L, 0L, 0L, 2L, 4L, 5L, 
1L, 0L, 1L, 1L, 1L, 3L, 1L, 1L, 0L, 0L, 4L, 2L, 2L, 3L, 1L, 1L, 
0L, 1L, 1L, 2L, 3L, 2L, 3L, 3L, 2L, 0L, 0L, 1L, 1L, 1L, 3L, 2L, 
4L, 1L, 1L, 1L, 2L, 2L, 3L, 1L, 1L, 1L, 0L, 1L, 1L, 1L), UT2x45.1 = c(0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L), UT2x45.10 = c(0L, 6L, 4L, 2L, 3L, 3L, 6L, 6L, 
3L, 4L, 7L, 4L, 2L, 3L, 4L, 7L, 5L, 3L, 6L, 4L, 6L, 4L, 5L, 5L, 
3L, 8L, 5L, 3L, 11L, 3L, 4L, 6L, 8L, 4L, 9L, 3L, 4L, 3L, 3L, 
5L, 7L, 3L, 2L, 4L, 4L, 3L, 2L, 5L, 8L, 10L, 6L, 4L, 8L, 6L, 
0L, 5L, 8L, 9L, 2L, 9L, 9L, 0L, 2L, 3L, 5L, 9L, 5L, 5L, 5L, 3L, 
4L, 2L, 1L, 5L, 7L, 3L, 5L, 7L, 5L, 1L, 2L, 3L, 5L, 7L, 2L, 5L, 
5L, 5L, 5L, 2L, 2L, 4L, 6L, 5L, 4L, 2L, 3L, 4L, 5L, 2L, 2L, 1L, 
1L, 1L, 2L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 1L, 3L, 2L, 3L, 1L, 1L, 
2L, 4L, 4L, 4L, 2L, 4L, 4L, 4L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 
3L, 3L, 3L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 4L, 3L, 1L, 
2L, 2L, 1L, 2L, 2L, 2L, 4L, 2L, 3L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 
1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), 
    UT2x45.11 = c(0L, 0L, 1L, 0L, 1L, 2L, 0L, 0L, 0L, 1L, 2L, 
    0L, 1L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 
    0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L), UT2x45.12 = c(0L, 1L, 0L, 0L, 1L, 0L, 
    0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 
    0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 
    0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 
    1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c("tiempo", 
"TR2x45.1", "TR2x45.10", "TR2x45.11", "TR2x45.12", "TR2x45.8", 
"TR2x45.9", "UT2x45.1", "UT2x45.10", "UT2x45.11", "UT2x45.12"
), row.names = c(NA, -181L), class = "data.frame")

Моя цель — проанализировать частоту реакции до и после света (я могу определить два 18-секундных или четыре 9-секундных интервала). При анализе я думал, сколько раз у меня есть ответ = 1, ответ = 2 и так далее для каждого животного в обеих группах для каждого временного интервала. Мне также нужно было бы построить данные, но я могу попытаться исправить это самостоятельно, как только получу частоту / правильно расплавленные данные.

Вот простой пример (первый столбец против t)

> grep(pattern = "1",x = TR)
[1]  7 11
> tiempo[grep(pattern= "1",x=TR)]
[1] 283.2 284.0

Итак, я должен получить «событие 1» за время 283,2 и еще одно «событие 1» за 284.

Когда я прошу то же самое для TR № 3

> tiempo[grep(pattern= "1",x=TR3)]

[1] 291

Я должен получить «событие 1» за время 291.

Если у двух животных из одной группы есть совпадение по времени и событию, то их следует добавить. 1 "событие 1" + 1 "событие 1" = 2 "событие 1". И это частота, которую я хочу получить для каждого животного, свернутого позже в группу для каждой временной точки.

ОБНОВЛЕНИЕ

Мне удалось записать некоторые функции, которые дают мне позицию значения ответа, которое я ищу (num) во фрейме данных dat, и дают мне время (в списке, который я должен каким-то образом использовать для сворачивания внутри групп)

grep.fun<-function(num,dat){
li<-list(apply(dat,2,function(dat) grep(num,dat)))

return(li)
}


find.tempo<-function(num,dat){
j<-1
LIS<-list()
for (i in grep.fun(num,dat)[[1]]) {
  LIS[j]<-list(dat$t[c(i)])
if (j>=length(dat)) break else
j<-j+1

}
return(LIS)
}

contar<-function(num,dat){
  tabla<-data.frame(
    variable=names(dat),freq=as.numeric(summary(find.tempo(num,dat))[,1])) # first column of summary is freq

  return(tabla)
  }

Кроме того, мне нужно свернуть значения отклика (в зависимости от времени) внутри групп для частотного анализа.


person Matias Andina    schedule 17.04.2015    source источник
comment
Если вы не знаете, как правильно анализировать свои данные, то это статистический вопрос, а не вопрос программирования, и его следует задать на Cross Validated. вместо. В противном случае отредактируйте свой вопрос, чтобы было ясно, какие трудности у вас возникают с кодом, который вы пишете (и также поделитесь этим кодом).   -  person MrFlick    schedule 17.04.2015
comment
Это не статистический вопрос, это вопрос программирования. Я знаю, что хочу, я хочу, но я не знаю, как это написать. Вот почему у меня нет кода или у меня просто есть куча вещей, которые имеют смысл для векторов, но мне нужно применить к фрейму данных и создать новый фрейм данных с конкретными данными. постараюсь сделать более понятно   -  person Matias Andina    schedule 18.04.2015


Ответы (1)


Мне удалось написать группу функций, которые делают то, что я хочу. Мне пришлось разделить набор данных на обе группы, чтобы передать параметр dat, но этого достаточно.

Код такой.

grep.fun<-function(num,dat){
li<-list(apply(dat,2,function(dat) grep(num,dat)))
return(li)
}


find.tempo<-function(num,dat){
j<-1
LIS<-list()
for (i in grep.fun(num,dat)[[1]]) {
  LIS[j]<-list(dat$t[c(i)])
if (j>=length(dat)) break else
j<-j+1

}
return(LIS)
}

contar.tempo<-function(num,dat){
  df<-data.frame(rep(NA,length(dat$tiempo)),rep(NA,length(dat$tiempo)))
  i<-1 
  for (time in dat$tiempo){
    cuenta<-sum(as.numeric(grepl(pattern=time,find.tempo(num,dat))))
    df[i,]<-c(time,cuenta)
    if (i>=length(dat$tiempo)) break else
      i<-i+1
    }
  names(df)<-c("tiempo","cuenta")
return(df)
}

contar.freq<-function(num,dat){
  tabla<-data.frame(
    variable=names(dat),freq=as.numeric(summary(find.tempo(num,dat))[,1])) # first column of summary is freq
  tabla2<-tabla[-1,] # sacar tiempo
  return(tabla2)
  }

Функцию contar.tempo я буду использовать для ввода уровня реакции, который я хочу оценить (num), и обоих наборов данных для обученных и контрольных животных. Результатом является кадр данных с количеством раз, когда у животного было событие определенной величины. (например, df‹-contar.tempo(1,your_data))

Функцию contar.freq можно использовать для подсчета количества событий определенного уровня реакции для каждого животного.

person Matias Andina    schedule 18.04.2015
comment
Это мой ответ, но я буду рад прочитать альтернативы/лучшие способы сделать это. - person Matias Andina; 19.04.2015