【发布时间】:2020-04-01 19:00:25
【问题描述】:
我有一个数据频率表,想计算它的平均值和标准差。第一列表示频率,第二列表示数据的值。我需要计算平均值的方式是(446*0+864*1+277*2+...+1*12)/(0+1+2+...+12) = ~1.35,但是当我使用 gnuplot stats 时,它会给我单独列的输出。如何更改我的代码,以便它可以提供我想要的输出?
数据表:
446 0
864 1
277 2
111 3
62 4
32 5
19 6
9 7
8 8
3 10
3 11
1 12
Gnuplot 代码:
stats "$input" using 2:1
输出:
* FILE:
Records: 12
Out of range: 0
Invalid: 0
Column headers: 0
Blank: 0
Data Blocks: 1
* COLUMNS:
Mean: 5.7500 152.9167
Std Dev: 3.7887 251.5374
Sample StdDev: 3.9572 262.7223
Skewness: 0.1569 1.9131
Kurtosis: 1.8227 5.5436
Avg Dev: 3.2500 188.0417
Sum: 69.0000 1835.0000
Sum Sq.: 569.0000 1.03986e+06
Mean Err.: 1.0937 72.6126
Std Dev Err.: 0.7734 51.3449
Skewness Err.: 0.7071 0.7071
Kurtosis Err.: 1.4142 1.4142
Minimum: 0.0000 [ 0] 1.0000 [11]
Maximum: 12.0000 [11] 864.0000 [ 1]
Quartile: 2.5000 5.5000
Median: 5.5000 25.5000
Quartile: 9.0000 194.0000
Linear Model: y = -46.89 x + 422.5
Slope: -46.89 +- 14.86
Intercept: 422.5 +- 102.4
Correlation: r = -0.7062
Sum xy: 2475
【问题讨论】:
-
您已经给出了答案,但请记住,您正在尝试将工具用于非设计用途。 gnuplot 是绘图工具,而不是数据处理工具。
-
@Kamilė Vainiūtė,我的回答解决了你的问题吗?任何形式的回应都会很好。
标签: statistics gnuplot mean standard-deviation