如何计算每 x 步的平均值
How to calculate the average every x steps
如果这是一个重复的问题,我深表歉意,但我无法找到我的问题的答案。
我有一个从 0 到 475 毫米的每个毫米的数据框。我想创建一个新的 csv 文件,每 1 厘米平均一次数据,因此创建平均 0-10mm 10-20mm 等
我看到类似的东西可能使用向量而不是数据帧
有谁知道我将如何实现这一点?
我看到有人说 dplyr
可以这样使用:
n1 <- 10
iris %>% group_by(mean = (row_number() -1) %/% n1) %>%
mutate(mean = mean(Sepal.Length))
如果我可以每 10 行分组,或者类似的方法可能会起作用
diamonds %>%
group_by(cut) %>%
dplyr::summarize(Mean = mean(price, na.rm=TRUE))
我需要每个单独列的平均值,数据如下所示:
structure(list(Depth = c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,
0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2,
2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3,
3.4, 3.5, 3.6, 3.7, 3.8, 3.9), AIncCoh = c(6.049230907, 5.975282432,
5.736199822, 5.658584418, 5.659008377, 5.597103404, 5.479694824,
5.392676342, 5.766141707, 5.587877013, 5.923228066, 6.083677805,
6.370731845, 6.299689957, 6.540310037, 6.76014416, 6.64052669,
6.722735675, 6.538929311, 6.600849788, 6.537525808, 6.472332356,
6.451542164, 6.314029783, 6.326980578, 6.427467369, 6.386539147,
6.324748515, 6.174247704, 6.115741782, 5.940887624, 5.926674295,
6.011768504, 6.259105537, 6.293339228, 6.507754408, 6.568542262,
6.332767248, 6.323517, 6.45046208), BFeIncCoh = c(0.533952007,
1.04123504, 1.575552754, 1.887597729, 2.467136771, 2.507664907,
3.152474986, 3.59568144, 1.619560271, 1.446736541, 0.998453458,
0.708287575, 0.75013817, 0.716823288, 0.446906747, 0.276885553,
0.318712042, 0.412030825, 0.661614436, 1.139646108, 1.078190702,
1.442860329, 1.18398141, 1.344180259, 1.410589788, 1.393485583,
1.542221239, 1.708359187, 2.021297356, 2.181852255, 1.876645293,
1.759113298, 1.785977674, 1.76244417, 1.824628328, 1.343339815,
1.227320351, 2.396835375, 2.067314222, 1.449669028), CAlinccoh = c(0.000640664,
0.000266313, 0.000720408, 0.000615829, 0.000874697, 0.000796354,
0.001251353, 0.001013647, 0.000554639, 0.000591174, 0.00044422,
0.000299878, 0.000260988, 0.000235121, 0.000192523, 0.00041571,
0.000288884, 4.38245e-05, 0.000584711, 0.000595545, 0.000581137,
0.000465238, 0.000485389, 0.000468044, 0.000594975, 0.00070524,
0.000394065, 0.000951412, 0.000870142, 0.000492213, 0.000693941,
0.000599945, 0.000782692, 0.000551049, 0.000553618, 0.000804453,
0.000682427, 0.000835408, 0.000654415, 0.00066155), DPinccoh = c(0.000171267,
7.06545e-05, 0.000397284, 0.000535504, 0.000458946, 0.000640312,
0.000649436, 0.000834147, 0.000554639, 0.000360038, 0.000374296,
0.000360664, 0.000184227, 0.00021616, 4.12548e-05, 0.000162387,
0.00019591, 6.068e-05, 0.000147939, 0.000412862, 0.000447883,
0.000592121, 0.000347798, 0.000471945, 0.000480557, 0.00034684,
0.000365917, 0.000409521, 0.000439295, 0.000654778, 0.00034697,
0.000495607, 0.000422737, 0.000472327, 0.00044047, 0.000238506,
0.000421499, 0.000558317, 0.000526825, 0.000610359), ECaTi = c(4.071146245,
3.27955665, 4.395989975, 3.677383592, 3.028670721, 4.523910733,
3.623082055, 2.428717425, 1.143992933, 1.000783699, 1.167405765,
1.489803485, 2.019990249, 2.510752688, 2.588560886, 3.398337113,
4.051594747, 3.648189209, 3.354673496, 3.057881773, 3.153846154,
3.076456311, 2.402086297, 2.205960854, 2.918837068, 3.052762259,
2.853471843, 2.970514429, 3.306431274, 3.085731415, 2.150507849,
1.643615075, 1.171841542, 1.394634777, 1.652872777, 1.751993923,
1.946314444, 2.140757238, 2.838143036, 3.455563331), FBrCl = c(8.04090623,
4.306048968, 3.417836951, 3.156895904, 2.787628518, 2.059316731,
1.665443728, 1.979686894, 1.919284294, 2.106621773, 1.984810127,
2.381081081, 2.495918818, 2.934549961, 3.223319734, 3.661795179,
3.680280436, 3.326894659, 2.572694701, 2.510810003, 2.61608562,
2.485975483, 2.623981753, 2.615200819, 2.753870857, 2.911768285,
2.810209577, 2.989661774, 2.648906468, 2.478130062, 2.772837613,
2.87838731, 2.794758117, 2.785974974, 2.860625462, 2.834103685,
2.685483871, 2.72094811, 2.823782043, 2.672785909), GSrCa = c(1.476699029,
0.697333834, 0.531927024, 0.581549593, 0.584337349, 0.471223867,
0.397348555, 0.463917526, 0.620592021, 0.668493866, 0.621082621,
0.520657043, 0.495293266, 0.588865096, 0.523639819, 0.544261566,
0.559851818, 0.399513776, 0.396946565, 0.373942811, 0.429853659,
0.382840237, 0.418278721, 0.496672716, 0.438887736, 0.44448963,
0.445296034, 0.509820486, 0.39092296, 0.365067029, 0.414126234,
0.485529831, 0.475788031, 0.527462341, 0.38278502, 0.422935183,
0.469789842, 0.460466084, 0.484084881, 0.434993925), HSiinccoh = c(0.000450368,
0.000244573, 0.00075219, 0.000583699, 0.00068032, 0.000925492,
0.000855355, 0.001963942, 0.001483778, 0.001729073, 0.001468393,
0.001138726, 0.001093848, 0.000576426, 0.000347228, 0.000334517,
0.000398461, 0.000249462, 0.000715038, 0.000694193, 0.000544122,
0.000849732, 0.00089816, 0.000924387, 0.000690323, 0.000971151,
0.000607182, 0.000959685, 0.000996862, 0.001219242, 0.000896715,
0.0010999, 0.0015319, 0.001466701, 0.001410312, 0.001443165,
0.00088314, 0.001401997, 0.000773774, 0.000728493), IMnFe = c(0.012176723,
0.010329834, 0.009460859, 0.004488071, 0.0033725, 0.003435313,
0.002524022, 0.001789815, 0.002523102, 0.002427177, 0.004737443,
0.006345047, 0.008130081, 0.00597814, 0.003815561, 0.005911677,
0.004938375, 0.006038094, 0.00566993, 0.005562324, 0.005153047,
0.004540827, 0.004835627, 0.007999907, 0.009290228, 0.009745845,
0.007576883, 0.006542547, 0.007564866, 0.01107687, 0.00868016,
0.004918037, 0.004108234, 0.004358456, 0.003138233, 0.00340349,
0.002135809, 0.002106807, 0.002305464, 0.005688023), JFeTi = c(332.715415,
235.9371921, 372.726817, 390.7871397, 396.986099, 495.2624867,
398.3075384, 348.0204394, 100.6015901, 85.02638454, 67.28021064,
64.80608083, 95.29351536, 112.916368, 79.94710947, 64.44066515,
90.04033771, 90.33555063, 120.2516005, 192.0689655, 179.2516923,
227.7075243, 146.8866761, 153.3047153, 224.0163537, 224.4506518,
209.6965555, 259.0897114, 301.7200504, 289.6696643, 192.2746999,
148.0545188, 114.2141328, 137.4854557, 154.4213406, 126.2081276,
130.2680017, 258.1514477, 315.1097867, 257.6221134), KZrRb = c(1.305111821,
4.6367713, 1.986547085, 1.775510204, 5.387755102, 2.099778271,
6.847826087, 1.760157274, 0.982819606, 1.037322515, 1.015357613,
1.377717391, 2.261603376, 2.883275261, 3.748267898, 3.688931298,
8.160550459, 4.390957447, 3.878865979, 2.159613059, 5.284023669,
2.704166667, 1.433843384, 1.265707797, 1.814081408, 2.007683864,
1.929152149, 2.484520124, 2.402555911, 1.70468948, 1.53030303,
1.596969697, 1.258212878, 1.092152628, 1.212525667, 3.411627907,
2.554, 1.91858679, 3.013186813, 8.751879699), Age = c(NA, NA,
NA, NA, NA, -68, NA, NA, NA, NA, NA, NA, NA, NA, NA, -64.5, NA,
NA, NA, NA, NA, NA, NA, NA, NA, -63, NA, NA, NA, NA, NA, NA,
NA, NA, NA, -59, NA, NA, NA, NA)), row.names = c(NA, 40L), class = "data.frame")
```
你好,我不知道你的专栏是什么意思,但原则上你可以这样做
创建一个值为 1,2,.. cm 的组变量
按该变量分组并计算目标列的平均值
在我下面的代码中,我假设 Depth
是以厘米为单位测量的变量(它从 0.0 到 3.9,步长为 0.1)。基于 Depth
的组只需将此列的值四舍五入即可获得。
我将在我的尝试中使用 data.table
(下面的代码计算所有列的平均值......您可以在 dd[, lapply(.SD, mean), by = grp]
中指定一个)。
library(data.table)
dd = data.table(data) # data is your data.frame
dd[, grp := floor(Depth)]
dd_avg = dd[, lapply(.SD, mean), by = grp]
print(dd_avg)
grp Depth AIncCoh BFeIncCoh CAlinccoh DPinccoh ECaTi FBrCl
1: 0 0.45 5.690180 1.9827592 0.0007325078 0.0004672228 3.117323 3.143967
2: 1 1.45 6.448082 0.6429498 0.0003361405 0.0002156380 2.728719 2.877215
3: 2 2.45 6.353116 1.5307018 0.0006007855 0.0004556655 2.902610 2.693379
4: 3 3.45 6.261482 1.7493288 0.0006819498 0.0004533617 2.014624 2.782969
GSrCa HSiinccoh IMnFe JFeTi KZrRb Age
1: 0.6493423 0.0009668790 0.005252742 315.63711 2.781960 NA
2: 0.5024054 0.0007016292 0.005712667 97.73804 3.356514 NA
3: 0.4322129 0.0008660846 0.007432665 221.57936 2.303042 NA
4: 0.4557961 0.0011636097 0.004084271 183.38096 2.633945 NA
这只是一个例子,因为我不知道你的问题的具体细节。我认为您可以轻松地使 'logic' 适应您的问题。
如果这是一个重复的问题,我深表歉意,但我无法找到我的问题的答案。
我有一个从 0 到 475 毫米的每个毫米的数据框。我想创建一个新的 csv 文件,每 1 厘米平均一次数据,因此创建平均 0-10mm 10-20mm 等
我看到类似的东西可能使用向量而不是数据帧
有谁知道我将如何实现这一点?
我看到有人说 dplyr
可以这样使用:
n1 <- 10
iris %>% group_by(mean = (row_number() -1) %/% n1) %>%
mutate(mean = mean(Sepal.Length))
如果我可以每 10 行分组,或者类似的方法可能会起作用
diamonds %>%
group_by(cut) %>%
dplyr::summarize(Mean = mean(price, na.rm=TRUE))
我需要每个单独列的平均值,数据如下所示:
structure(list(Depth = c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,
0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2,
2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3,
3.4, 3.5, 3.6, 3.7, 3.8, 3.9), AIncCoh = c(6.049230907, 5.975282432,
5.736199822, 5.658584418, 5.659008377, 5.597103404, 5.479694824,
5.392676342, 5.766141707, 5.587877013, 5.923228066, 6.083677805,
6.370731845, 6.299689957, 6.540310037, 6.76014416, 6.64052669,
6.722735675, 6.538929311, 6.600849788, 6.537525808, 6.472332356,
6.451542164, 6.314029783, 6.326980578, 6.427467369, 6.386539147,
6.324748515, 6.174247704, 6.115741782, 5.940887624, 5.926674295,
6.011768504, 6.259105537, 6.293339228, 6.507754408, 6.568542262,
6.332767248, 6.323517, 6.45046208), BFeIncCoh = c(0.533952007,
1.04123504, 1.575552754, 1.887597729, 2.467136771, 2.507664907,
3.152474986, 3.59568144, 1.619560271, 1.446736541, 0.998453458,
0.708287575, 0.75013817, 0.716823288, 0.446906747, 0.276885553,
0.318712042, 0.412030825, 0.661614436, 1.139646108, 1.078190702,
1.442860329, 1.18398141, 1.344180259, 1.410589788, 1.393485583,
1.542221239, 1.708359187, 2.021297356, 2.181852255, 1.876645293,
1.759113298, 1.785977674, 1.76244417, 1.824628328, 1.343339815,
1.227320351, 2.396835375, 2.067314222, 1.449669028), CAlinccoh = c(0.000640664,
0.000266313, 0.000720408, 0.000615829, 0.000874697, 0.000796354,
0.001251353, 0.001013647, 0.000554639, 0.000591174, 0.00044422,
0.000299878, 0.000260988, 0.000235121, 0.000192523, 0.00041571,
0.000288884, 4.38245e-05, 0.000584711, 0.000595545, 0.000581137,
0.000465238, 0.000485389, 0.000468044, 0.000594975, 0.00070524,
0.000394065, 0.000951412, 0.000870142, 0.000492213, 0.000693941,
0.000599945, 0.000782692, 0.000551049, 0.000553618, 0.000804453,
0.000682427, 0.000835408, 0.000654415, 0.00066155), DPinccoh = c(0.000171267,
7.06545e-05, 0.000397284, 0.000535504, 0.000458946, 0.000640312,
0.000649436, 0.000834147, 0.000554639, 0.000360038, 0.000374296,
0.000360664, 0.000184227, 0.00021616, 4.12548e-05, 0.000162387,
0.00019591, 6.068e-05, 0.000147939, 0.000412862, 0.000447883,
0.000592121, 0.000347798, 0.000471945, 0.000480557, 0.00034684,
0.000365917, 0.000409521, 0.000439295, 0.000654778, 0.00034697,
0.000495607, 0.000422737, 0.000472327, 0.00044047, 0.000238506,
0.000421499, 0.000558317, 0.000526825, 0.000610359), ECaTi = c(4.071146245,
3.27955665, 4.395989975, 3.677383592, 3.028670721, 4.523910733,
3.623082055, 2.428717425, 1.143992933, 1.000783699, 1.167405765,
1.489803485, 2.019990249, 2.510752688, 2.588560886, 3.398337113,
4.051594747, 3.648189209, 3.354673496, 3.057881773, 3.153846154,
3.076456311, 2.402086297, 2.205960854, 2.918837068, 3.052762259,
2.853471843, 2.970514429, 3.306431274, 3.085731415, 2.150507849,
1.643615075, 1.171841542, 1.394634777, 1.652872777, 1.751993923,
1.946314444, 2.140757238, 2.838143036, 3.455563331), FBrCl = c(8.04090623,
4.306048968, 3.417836951, 3.156895904, 2.787628518, 2.059316731,
1.665443728, 1.979686894, 1.919284294, 2.106621773, 1.984810127,
2.381081081, 2.495918818, 2.934549961, 3.223319734, 3.661795179,
3.680280436, 3.326894659, 2.572694701, 2.510810003, 2.61608562,
2.485975483, 2.623981753, 2.615200819, 2.753870857, 2.911768285,
2.810209577, 2.989661774, 2.648906468, 2.478130062, 2.772837613,
2.87838731, 2.794758117, 2.785974974, 2.860625462, 2.834103685,
2.685483871, 2.72094811, 2.823782043, 2.672785909), GSrCa = c(1.476699029,
0.697333834, 0.531927024, 0.581549593, 0.584337349, 0.471223867,
0.397348555, 0.463917526, 0.620592021, 0.668493866, 0.621082621,
0.520657043, 0.495293266, 0.588865096, 0.523639819, 0.544261566,
0.559851818, 0.399513776, 0.396946565, 0.373942811, 0.429853659,
0.382840237, 0.418278721, 0.496672716, 0.438887736, 0.44448963,
0.445296034, 0.509820486, 0.39092296, 0.365067029, 0.414126234,
0.485529831, 0.475788031, 0.527462341, 0.38278502, 0.422935183,
0.469789842, 0.460466084, 0.484084881, 0.434993925), HSiinccoh = c(0.000450368,
0.000244573, 0.00075219, 0.000583699, 0.00068032, 0.000925492,
0.000855355, 0.001963942, 0.001483778, 0.001729073, 0.001468393,
0.001138726, 0.001093848, 0.000576426, 0.000347228, 0.000334517,
0.000398461, 0.000249462, 0.000715038, 0.000694193, 0.000544122,
0.000849732, 0.00089816, 0.000924387, 0.000690323, 0.000971151,
0.000607182, 0.000959685, 0.000996862, 0.001219242, 0.000896715,
0.0010999, 0.0015319, 0.001466701, 0.001410312, 0.001443165,
0.00088314, 0.001401997, 0.000773774, 0.000728493), IMnFe = c(0.012176723,
0.010329834, 0.009460859, 0.004488071, 0.0033725, 0.003435313,
0.002524022, 0.001789815, 0.002523102, 0.002427177, 0.004737443,
0.006345047, 0.008130081, 0.00597814, 0.003815561, 0.005911677,
0.004938375, 0.006038094, 0.00566993, 0.005562324, 0.005153047,
0.004540827, 0.004835627, 0.007999907, 0.009290228, 0.009745845,
0.007576883, 0.006542547, 0.007564866, 0.01107687, 0.00868016,
0.004918037, 0.004108234, 0.004358456, 0.003138233, 0.00340349,
0.002135809, 0.002106807, 0.002305464, 0.005688023), JFeTi = c(332.715415,
235.9371921, 372.726817, 390.7871397, 396.986099, 495.2624867,
398.3075384, 348.0204394, 100.6015901, 85.02638454, 67.28021064,
64.80608083, 95.29351536, 112.916368, 79.94710947, 64.44066515,
90.04033771, 90.33555063, 120.2516005, 192.0689655, 179.2516923,
227.7075243, 146.8866761, 153.3047153, 224.0163537, 224.4506518,
209.6965555, 259.0897114, 301.7200504, 289.6696643, 192.2746999,
148.0545188, 114.2141328, 137.4854557, 154.4213406, 126.2081276,
130.2680017, 258.1514477, 315.1097867, 257.6221134), KZrRb = c(1.305111821,
4.6367713, 1.986547085, 1.775510204, 5.387755102, 2.099778271,
6.847826087, 1.760157274, 0.982819606, 1.037322515, 1.015357613,
1.377717391, 2.261603376, 2.883275261, 3.748267898, 3.688931298,
8.160550459, 4.390957447, 3.878865979, 2.159613059, 5.284023669,
2.704166667, 1.433843384, 1.265707797, 1.814081408, 2.007683864,
1.929152149, 2.484520124, 2.402555911, 1.70468948, 1.53030303,
1.596969697, 1.258212878, 1.092152628, 1.212525667, 3.411627907,
2.554, 1.91858679, 3.013186813, 8.751879699), Age = c(NA, NA,
NA, NA, NA, -68, NA, NA, NA, NA, NA, NA, NA, NA, NA, -64.5, NA,
NA, NA, NA, NA, NA, NA, NA, NA, -63, NA, NA, NA, NA, NA, NA,
NA, NA, NA, -59, NA, NA, NA, NA)), row.names = c(NA, 40L), class = "data.frame")
```
你好,我不知道你的专栏是什么意思,但原则上你可以这样做
创建一个值为 1,2,.. cm 的组变量
按该变量分组并计算目标列的平均值
在我下面的代码中,我假设 Depth
是以厘米为单位测量的变量(它从 0.0 到 3.9,步长为 0.1)。基于 Depth
的组只需将此列的值四舍五入即可获得。
我将在我的尝试中使用 data.table
(下面的代码计算所有列的平均值......您可以在 dd[, lapply(.SD, mean), by = grp]
中指定一个)。
library(data.table)
dd = data.table(data) # data is your data.frame
dd[, grp := floor(Depth)]
dd_avg = dd[, lapply(.SD, mean), by = grp]
print(dd_avg)
grp Depth AIncCoh BFeIncCoh CAlinccoh DPinccoh ECaTi FBrCl
1: 0 0.45 5.690180 1.9827592 0.0007325078 0.0004672228 3.117323 3.143967
2: 1 1.45 6.448082 0.6429498 0.0003361405 0.0002156380 2.728719 2.877215
3: 2 2.45 6.353116 1.5307018 0.0006007855 0.0004556655 2.902610 2.693379
4: 3 3.45 6.261482 1.7493288 0.0006819498 0.0004533617 2.014624 2.782969
GSrCa HSiinccoh IMnFe JFeTi KZrRb Age
1: 0.6493423 0.0009668790 0.005252742 315.63711 2.781960 NA
2: 0.5024054 0.0007016292 0.005712667 97.73804 3.356514 NA
3: 0.4322129 0.0008660846 0.007432665 221.57936 2.303042 NA
4: 0.4557961 0.0011636097 0.004084271 183.38096 2.633945 NA
这只是一个例子,因为我不知道你的问题的具体细节。我认为您可以轻松地使 'logic' 适应您的问题。