Statistics

文本文件的數學處理

  • September 12, 2014

我有 200 個文本文件。每個文本文件包含一列數學數字(100k 行)。

我想對這些數據進行一些統計處理(找到機率或分位數)。我知道每個文件關聯的平均值和西格瑪值。有沒有直接的方法來計算數據集的機率或分位數?

如果不是,那麼我知道分位數的公式是 =(排序數據均值)/sigma。例如

輸入文件.txt

12.2  
10.11  
15.55  
5.01  
...
...
12.9

臨時文件

5.01  
10.11  
12.2  
12.9  
15.55  
... 
...

最終輸出文件應包含兩列。第一列與第二列相同temp_output.txt,第二列是每個元素的以下數學函式:

= (row(i)-mean)/sigma

其中 mean 和 sigma 是兩個數學數字,分別是 10.1 和 2.02。對於上述值,最終輸出文件應如下所示

輸出.txt

5.01 -2.51980198  
10.11 0.004950495  
12.2 1.03960396  
12.9 1.386138614  
15.55 2.698019802  
... 
...

你吃過這樣的東西嗎

mybox $ cat file1.txt
12.2
10.11
15.55
5.01
mybox $ awk -v mean=10.2 -v sigma=2.02 '{printf "%f %f\n",$1,($1-mean)/sigma ; }' file1.txt
12.200000 0.990099
10.110000 -0.044554
15.550000 2.648515
5.010000 -2.569307

神秘的部分

awk -v mean=10.2 -v sigma=2.02 '{printf "%f %f\n",$1,($1-mean)/sigma ; }' file1.txt

您打算如何提供 mean1,mean2, … mean200 ?

引用自:https://unix.stackexchange.com/questions/155172