Справочная информация : я пробовал различные парки (местоположения A, B, C, et c.) И занял ок. 10 фотографий (по 1м x 1м участков) в каждом парке. Если на фотографии был мусор, я записывал длину (см), ширину (см) и цвет каждого куска.
Проблема : размеры выборки неравномерны (в некоторых парках по 10 фотографии, у других 7, и т. д. c.), поэтому я хочу провести симуляцию Монте-Карло (или начальную загрузку), где 5 фотографий с каждого сайта выбираются случайным образом, чтобы генерировать изменения в мусоре в каждом парке (чтобы уменьшить влияние разных образцов размеры). Я хочу повторить это 1000 раз. Моя цель - получить среднее и стандартное отклонение количества мусора в парках (штук на м ^ 2). Важно отметить, что данные сильно завышены нулями, поэтому мне нужно включить это тоже.
Вот подмножество моих данных:
table <- "Location ID Piece.garbage Length Width Colour
12 A 138 0 0.0 0.0 <NA>
13 A 140 0 0.0 0.0 <NA>
14 A 141 1 7.3 3.1 Other
15 A 142 0 0.0 0.0 <NA>
16 A 143 0 0.0 0.0 <NA>
17 A 144 0 0.0 0.0 <NA>
18 A 146 1 2.3 1.5 Other
19 A 147 0 0.0 0.0 <NA>
20 A 148 1 2.8 2.0 Blue
21 B 157 0 0.0 0.0 <NA>
22 B 158 0 0.0 0.0 <NA>
23 B 159 0 0.0 0.0 <NA>
24 B 160 0 0.0 0.0 <NA>
25 B 161 0 0.0 0.0 <NA>
26 B 162 1 3.6 1.0 White
27 B 162 2 3.3 3.3 Red
28 B 162 3 5.3 1.3 White
29 B 162 4 4.5 1.3 White
30 B 162 5 4.3 1.3 White
31 B 163 0 0.0 0.0 <NA>
32 B 164 0 0.0 0.0 <NA>
33 B 165 0 0.0 0.0 <NA>
34 B 166 0 0.0 0.0 <NA>
35 C 318 0 0.0 0.0 <NA>
36 C 319 0 0.0 0.0 <NA>
37 C 320 0 0.0 0.0 <NA>
38 C 321 0 0.0 0.0 <NA>
39 C 323 1 7.1 3.8 Pink
40 C 324 0 0.0 0.0 <NA>
41 C 325 0 0.0 0.0 <NA>
42 C 326 1 3.0 1.3 White
43 C 327 0 0.0 0.0 <NA>
44 C 328 0 0.0 0.0 <NA>"
#Create dataframe
dat <- read.table(text=table, header = TRUE)
dat
Что я пробовал : Мне удалось взять подмножество из пяти выборок из данных и выполнить их 1000 раз:
dat_sub <- dat %>% sample_n(size = 5, replace = TRUE)
dat_sample <- map_dfr(1:1000, ~dat %>%
sample_n(size = 5, replace = TRUE) %>%
mutate(Time = .x))
Но я не могу сделать это для каждого местоположения в отдельности. Единственное решение, о котором я мог подумать, - это фильтрация данных для каждого местоположения, но у меня есть более 50 местоположений, так что это займет слишком много времени.
Я относительно новичок в R (и в симуляциях Монте-Карло), поэтому любая помощь будет принята с благодарностью.