我正在计算一个文件的统计信息,其中第二列是我的X值,第15列是我的Y值。只要x范围覆盖文件中的整个数据,这种方法就可以正常工作。
stats '$LOGFILE' using 15 name 'rate_Y_'
print rate_Y_max
输出:
* FILE:
Records: 74
Out of range: 0
Invalid: 0
Blank: 0
Data Blocks: 1
* COLUMN:
Mean: 26391.9815
Std Dev: 37555.9366
Sum: 1.95301e+06
Sum Sq.: 1.55917e+11
Minimum: 2793.2603 [ 1]
Maximum: 142755.0813 [73]
Quartile: 4586.2274
Median: 10359.6168
Quartile: 27017.6600
142755.081306
但是当我想限制x范围时,我必须定义我的X列
set xrange [40:400]
stats '$LOGFILE' using 2:15 name 'rate_Y_'
并获得二维统计量,我的变量rate_Y_max不再可访问:
* FILE:
Records: 7
Out of range: 67
Invalid: 0
Blank: 0
Data Blocks: 1
* COLUMNS:
Mean: 182.1429 111416.6321
Std Dev: 118.5585 14491.4560
Sum: 1275.0000 779916.4248
Sum Sq.: 330625.0000 8.83657e+10
Minimum: 50.0000 [6] 83292.6937 [0]
Maximum: 400.0000 [0] 124953.1493 [5]
Quartile: 75.0000 99960.3747
Median: 150.0000 111045.6078
Quartile: 300.0000 124912.0550
Linear Model: y = -120 x + 1.333e+05
Correlation: r = -0.9817
Sum xy: 1.302e+08
line 0: undefined variable: rate_Y_max
问题:如何访问二维统计变量?
答案 0 :(得分:1)
来自doc:
如果通过单个stats命令联合分析两列,则 后缀" _x"或" _y"附加到每个变量名称。即STATS_min_x 是第一列中找到的最小值,而STATS_min_y是 第二列中找到的最小值。
所以
rate_Y_max_y
您正在寻找的是什么。
您可能应该使用:
stats '$LOGFILE' using 2:15 name 'rate'
print rate_max_y
答案 1 :(得分:1)
使用show variables rate_
查看您致电stats ... name 'rate'
时生成的所有变量。
set xrange [0:100]
stats '+' using 1:($1**2) name 'rate'
现在打电话给show variables rate_
打印
Variables beginning with rate_:
...
rate_min_x = 0.0
rate_max_x = 100.0
...
rate_min_y = 0.0
rate_max_y = 10000.0
...