Я новичок в R, и у меня есть большой data.frame (более 300000 obs), который выглядит так:
Dados <- data.frame(stringsAsFactors=FALSE,
id = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L,
14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L,
25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 36L,
37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L,
49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L, 60L,
61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L,
72L, 73L, 74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L,
84L, 85L, 86L, 87L, 88L, 89L, 90L, 91L, 92L, 93L, 94L, 95L,
96L, 97L, 98L, 99L, 100L, 101L, 102L, 103L, 104L, 105L,
106L, 107L, 108L, 109L, 110L, 111L, 112L, 113L, 114L, 115L,
116L, 117L, 118L, 119L, 120L, 121L, 122L, 123L, 124L, 125L,
126L, 127L, 128L, 129L, 130L, 131L, 132L, 133L, 134L, 135L,
136L, 137L, 138L, 139L, 140L, 141L, 142L, 143L),
Identification = "LONNIE POOL FIELD WEAVERVILLE",
Dates = c("1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014", "1/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014", "2/01/2014",
"2/01/2014", "2/01/2014", "2/01/2014"),
TEMP_Celcius = c(13L, 10L, 8L, 7L, 5L, 4L, 3L, 3L, 2L, 2L, 2L, 2L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, -1L, -1L, -2L, -1L, -2L, -2L,
-2L, -2L, -2L, -2L, -2L, -2L, -3L, -3L, -3L, -3L, -3L, -3L,
-3L, -3L, -4L, -4L, -3L, -4L, -4L, -4L, -4L, -4L, -4L, -3L,
-3L, -2L, 0L, 1L, 2L, 3L, 4L, 6L, 6L, 8L, 9L, 9L, 10L, 11L,
12L, 12L, 12L, 12L, 13L, 13L, 13L, 13L, 12L, 10L, 9L, 8L,
6L, 5L, 5L, 4L, 4L, 3L, 3L, 2L, 2L, 2L, 2L, 0L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, -1L, -1L, -1L, -2L, -2L,
-1L, -2L, -2L, -2L, -2L, -2L, -2L, -2L, -2L, -3L, -3L, -3L,
-3L, -3L, -3L, -3L, -3L, -2L, -2L, 0L, 0L, 1L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 10L, 12L, 13L, 13L, 13L, 13L, 14L, 14L,
14L))
И мне нужно получить другие столбцы, такие как средняя температура, минимум, максимум и средняя точка росы, максимум и минимум каждый день. У меня много результатов за день, потому что это ежечасно. Я пробовал много способов, но получаю неверный результат.
Сначала я попытался понять это с помощью этого кода:
tapply (Dados$TEMP_Celcius, Dados$Dates, mean)
Но я получаю неверный результат. Например, для даты 01.01.2014 я получаю 27,8, и правильный результат будет 1,97.
Я пробовал либо коды:
tapply(Dados$TEMP_Celcius, Dados$Dates, mean, na.rm = TRUE)
aggregate(Dados$TEMP_Celcius, by=list(TMEDIA=Dados$Dates), mean)
Но я получил те же результаты. Я не знаю, что делаю не так, не могли бы вы мне помочь?
Я уже проверил класс столбца Даты, это «Дата» и переменная температура, и это «числовой».
dput()
илиdump()
, как описано здесь: stackoverflow.com/questions/5963269/ - person william3031   schedule 18.03.2019a <- dput(Dados)
b <- structure(list .... #copy everything
- person william3031   schedule 18.03.2019dput
заключается в том, что это даст другим людям возможность точно воссоздать образец ваших данных, форматов и всего остального. Если ваш фрейм данных называетсяDados
и вы хотите поделиться первыми 100 строками, вы должны ввестиdput(head(Dados, 100))
в консоль, а затем вставить его вывод в свой вопрос. - person Jon Spring   schedule 18.03.2019dput
. - person william3031   schedule 18.03.2019dput
будет выглядеть существенно иначе - например, все символьные поля будут заключены в кавычки. - person Jon Spring   schedule 18.03.2019