如何获得分组数据的平均值和标准差?
How to get average and standard deviation of grouped data?
我正在尝试使用 Google 表格处理数据库。
我可以从这里使用 importJson 脚本访问数据库:https://github.com/bradjasper/ImportJSON
使用查询:=importJson("https://mywebsite.com/json-data");
它像这个模型一样填充我的 Google 表格:
+-----+--------+---------+
| Age | Weight | Country |
+-----+--------+---------+
| 10 | 120 | US |
+-----+--------+---------+
| 10 | 140 | US |
+-----+--------+---------+
| 10 | 160 | US |
+-----+--------+---------+
| 11 | 180 | CA |
+-----+--------+---------+
| 12 | 190 | GBR |
+-----+--------+---------+
| 12 | 200 | GBR |
+-----+--------+---------+
我希望能够显示按年龄分组的数据,其中包括该年龄段的平均体重、该年龄段体重的标准差,就像这样...
+-----+----------------+----------+
| Age | Average weight | Std. Dev |
+-----+----------------+----------+
| 10 | 140 | 20 |
+-----+----------------+----------+
| 11 | 180 | 0 |
+-----+----------------+----------+
| 12 | 195 | 5 |
+-----+----------------+----------+
我试过在工作表中创建一个枢轴 table,但我不知道如何获取列中每个年龄的所有值的平均值或标准差。
当我尝试添加一个包含平均权重值的列时,出现 DIV/0
错误。
这在表格中可行吗?
粘贴到 E2 单元格:
=QUERY(A2:B,
"select A,avg(B)
where A is not null
group by A
label avg(B)''", 0)
粘贴到 G2 单元格并向下拖动:
=IFERROR(STDEV(FILTER(B:B, A:A=E2)), 0)
粘贴到 H2 单元格并向下拖动:
=IFERROR(STDEVP(FILTER(B:B, A:A=E2)), 0)
我正在尝试使用 Google 表格处理数据库。
我可以从这里使用 importJson 脚本访问数据库:https://github.com/bradjasper/ImportJSON
使用查询:=importJson("https://mywebsite.com/json-data");
它像这个模型一样填充我的 Google 表格:
+-----+--------+---------+
| Age | Weight | Country |
+-----+--------+---------+
| 10 | 120 | US |
+-----+--------+---------+
| 10 | 140 | US |
+-----+--------+---------+
| 10 | 160 | US |
+-----+--------+---------+
| 11 | 180 | CA |
+-----+--------+---------+
| 12 | 190 | GBR |
+-----+--------+---------+
| 12 | 200 | GBR |
+-----+--------+---------+
我希望能够显示按年龄分组的数据,其中包括该年龄段的平均体重、该年龄段体重的标准差,就像这样...
+-----+----------------+----------+
| Age | Average weight | Std. Dev |
+-----+----------------+----------+
| 10 | 140 | 20 |
+-----+----------------+----------+
| 11 | 180 | 0 |
+-----+----------------+----------+
| 12 | 195 | 5 |
+-----+----------------+----------+
我试过在工作表中创建一个枢轴 table,但我不知道如何获取列中每个年龄的所有值的平均值或标准差。
当我尝试添加一个包含平均权重值的列时,出现 DIV/0
错误。
这在表格中可行吗?
粘贴到 E2 单元格:
=QUERY(A2:B,
"select A,avg(B)
where A is not null
group by A
label avg(B)''", 0)
粘贴到 G2 单元格并向下拖动:
=IFERROR(STDEV(FILTER(B:B, A:A=E2)), 0)
粘贴到 H2 单元格并向下拖动:
=IFERROR(STDEVP(FILTER(B:B, A:A=E2)), 0)