【发布时间】:2021-02-08 03:02:02
【问题描述】:
我有一个数据框,其中包含猎物、它们被带到的日期以及它们的估计重量。有些行的估计重量为 NA,我想通过在 3 天内(即猎物交付前一天、同一天和后一天)平均同一类型猎物的重量来推断粗略估计。我该怎么做?此外,数据按嵌套 ID 分组。 MRE:
example_data <- structure(list(broodID = structure(c(7L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L,
7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L,
7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L,
8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L,
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L,
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L,
9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L), .Label = c("2018_1", "2019_3",
"2020_10", "2020_11", "2020_12", "2020_2", "2020_5", "2020_8",
"2020_9"), class = "factor"), date = structure(c(18469, 17743,
17724, 17730, 17731, 17739, 17723, 17724, 17738, 17738, 17739,
17739, 17742, 17735, 17724, 17730, 17732, 17745, 17737, 17751,
17725, 17725, 17725, 17725, 17726, 17729, 17723, 17730, 18104,
18104, 18102, 18102, 18103, 18098, 18098, 18100, 18462, 18462,
18470, 18459, 18459, 18471, 18473, 18463, 18463, 18474, 18493,
18479, 18473, 18471, 18471, 18475, 18475, 18472, 18472, 18474,
18411, 18411, 18462, 18462, 18461, 18462, 18470, 18464, 18449,
18453, 18452, 18452, 18448, 18456, 18464, 18464, 18450, 18450,
18471, 18471, 18451, 18460, 18470, 18460, 18456, 18456, 18473,
18473, 18447, 18447, 18471, 18447, 18452, 18452, 18450, 18456,
18459, 18488, 18464, 18451, 18458, 18455, 18469, 18453, 18461,
18461, 18468, 18466, 18458, 18458, 18449, 18450, 18450, 18476,
18482, 18454, 18454, 18458, 18458, 18470, 18452, 18453, 18453,
18448, 18448, 18457, 18457, 18467, 18467, 18472, 18472, 18455,
18457, 18457, 18461, 18461, 18465, 18465, 18453, 18453, 18458,
18466, 18466, 18475, 18452, 18452, 18459, 18456, 18456, 18456,
18458, 18458, 18456, 18456, 18450, 18450, 18465, 18452, 18461,
18461, 18456, 18464, 18459), class = "Date"), PreyGroup = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "bird", class = "factor"),
weightcalc = c(10, 5, 10, 10, 10, 10, 15, 15, 15, 15, 15,
15, 15, 20, 25, 25, 25, 25, 25, 40, 45, 45, 45, 45, NA, NA,
NA, NA, 10, 10, 15, 15, 20, 25, NA, 20, 15, 15, 20, 20, 20,
20, 35, 45, 45, 50, 120, 15, 20, 20, 20, 20, 20, 25, 35,
45, 45, NA, 6, 6, 7, 8, 10, 12, 12, 12, 14, 14, 15, 15, 15,
15, 15, 15, 20, 20, 20, 25, 25, 35, 40, 40, 55, 55, 60, 60,
70, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 15, 15, 20, 50,
50, NA, 6, 8, 8, 10, 10, 10, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
20, 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 35, 35, 35, 35,
40, 40, 45, 45, 45, 45, 70, NA, NA, NA, NA, NA, NA)), class = "data.frame", row.names = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13",
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24",
"25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35",
"36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46",
"47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57",
"58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68",
"69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
"80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90",
"91", "92", "93", "94", "95", "96", "97", "98", "99", "100",
"101", "102", "103", "104", "105", "106", "107", "108", "109",
"110", "111", "112", "113", "114", "115", "116", "117", "118",
"119", "120", "121", "122", "123", "124", "125", "126", "127",
"128", "129", "130", "131", "132", "133", "134", "135", "136",
"137", "138", "139", "140", "141", "142", "143", "144", "145",
"146", "147", "148", "149", "150", "151", "152", "153", "154",
"155", "156", "157", "158", "159"))
【问题讨论】:
-
请提交带有可用数据的Minimal Reproducible Example,而不是图片。
-
对不起,我现在添加了 dput 代码,但不知何故它只保留了代码部分的第一行。它仍然有效吗?
标签: r dplyr data.table lubridate