Ranking data points from multiple files


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Ranking data points from multiple files
# 1  
Old 06-17-2016
Ranking data points from multiple files

I need to rank a large number of data points that exist in multiple files. My data points (Column 3) are based on unique values in columns 1 and 2. I need to rank the values that are in File 1, Column 3.

For instance:

Input File 1
Code:
AAA BBB 10
CCC DDD 16
EEE FFF 20

Input File 2
Code:
AAA BBB 11
CCC DDD 14
EEE FFF 19

Input File 3
Code:
AAA BBB 12
CCC DDD 15
EEE FFF 19

Expected output
Code:
AAA BBB 1
CCC DDD 3
EEE FFF 3

Any ideas how to best perform this analysis? I am familiar with awk and bash.
# 2  
Old 06-17-2016
what's the math to calculate the rank (given the samples)?
# 3  
Old 06-17-2016
I was using this script for ranking 1 column of a single file - In this case i was ranking column 4.


Code:
sort -k4 -n  file | awk '$4 != prev { rank = NR }{ print $1, $4, rank ; prev = $4 }'

But this new script needs to rank multiple files based on the same data points that are in columns 1 and 2.


Moderator's Comments:
Mod Comment Please use code tags as required by forum rules!

Last edited by RudiC; 06-18-2016 at 05:12 AM.. Reason: Added code tags.
# 4  
Old 06-17-2016
You've told us how you don't want them ranked.

What we need is how you actually do want them ranked.
# 5  
Old 06-17-2016
I would think that the awk variable NR would be able to count the number of records and create the rank based on that.

There are 2 stumping blocks for me:
1) I dont know how to make File 1 be the data value that it is ranking.
2) Im not sure how to best search for each data point (columns 1 and 2) in all the files. What is the most efficient way in doing this?
# 6  
Old 06-17-2016
Quote:
Originally Posted by ncwxpanther
I would think that the awk variable NR would be able to count the number of records and create the rank based on that.
NR is the line number, effectively. AAA BBB should have a rank of 1, CCC DDD should have a rank of 2, etc.

If that's not what you do want, you'll have to actually tell us what you want instead of showing something which gives you things you don't want.
# 7  
Old 06-20-2016
I have the following script that will search for a data point and return the sorted values.

How would I:

1) Create a variable for each of the data points that are in File 1
2) Create an additional column with the ranking of the values

Code:
for year in "${test}"/{1900..2016}05.pnt 
do
cat "$year"
done |
grep "AAA BBB" $year | sort -k4 -n

Code:
 
 AAA BBB    24.48
 AAA BBB    24.70
 AAA BBB    24.95
 AAA BBB    25.10
 AAA BBB    25.28
 AAA BBB    25.36
 AAA BBB    25.57

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

In PErl script: need to read the data one file and generate multiple files based on the data

We have the data looks like below in a log file. I want to generat files based on the string between two hash(#) symbol like below Source: #ext1#test1.tale2 drop #ext1#test11.tale21 drop #ext1#test123.tale21 drop #ext2#test1.tale21 drop #ext2#test12.tale21 drop #ext3#test11.tale21 drop... (5 Replies)
Discussion started by: Sanjeev G
5 Replies

2. UNIX for Dummies Questions & Answers

Stack data from multiple files into one, with variable column files

Hello Gurus, Im new to scripting. Got struck with a file merge issue in Unix. Was looking for some direction and stumbled upon this site. I saw many great posts and replies but couldnt find a solution to my issue. Greatly appreciate any help.. I have three csv files -> Apex_10_Latest.csv,... (1 Reply)
Discussion started by: wamshi
1 Replies

3. Shell Programming and Scripting

Grabbing data between 2 points in text file

I have a text file that shows the output of my solar inverters. I want to separate this into sections. overview , device 1 , device 2 , device 3. Each device has different number of lines. but they all have unique starting points. Overview starts with 6 #'s, Devices have 4#'s and their data starts... (6 Replies)
Discussion started by: Mikey
6 Replies

4. UNIX for Dummies Questions & Answers

Finding data value that contains x% of points

Hi, I need help on finding the value of my data that encompasses certain percentage of my total data points (n). Attached is an example of my data, n=30. What I want to do is for instance is find the minimum threshold that still encompasses 60% (n=18), 70% (n=21) and 80% (n=24). manually to... (4 Replies)
Discussion started by: ida1215
4 Replies

5. UNIX for Dummies Questions & Answers

Using AWK: Extract data from multiple files and output to multiple new files

Hi, I'd like to process multiple files. For example: file1.txt file2.txt file3.txt Each file contains several lines of data. I want to extract a piece of data and output it to a new file. file1.txt ----> newfile1.txt file2.txt ----> newfile2.txt file3.txt ----> newfile3.txt Here is... (3 Replies)
Discussion started by: Liverpaul09
3 Replies

6. Programming

GNUPLOT- how to change the style of data points

Hi, I am trying to arrange my graphs with GNUPLOT. Although it looked like simple at the beginning, I could not figure out an answer for the following: I want to change the style of my data points (not the line, just exact data points) The terminal assigns first + and then x to them but what I... (0 Replies)
Discussion started by: natasha
0 Replies

7. UNIX for Dummies Questions & Answers

How to get data only inside polygon created by points which is part of whole data from file?

hiii, Help me out..i have a huge set of data stored in a file.This file has has 2 columns which is latitude & longitude of a region. Now i have a program which asks for the number of points & based on this number it asks the user to enter that latitude & longitude values which are in the same... (7 Replies)
Discussion started by: reva
7 Replies

8. Shell Programming and Scripting

Group search (multiple data points) in Linux

Hi All I have a data set like this tab delimited: weft fgr-1 345 -1 fgrythdgd weft fgr-3 456 -2 ghjdklflllff weft fgr-11 456 -3 ghtjuffl weft fgr-1 213 -2 ghtyjdkl weft fgr-34 567 -5 fghytkflf frgt fgr-36 567 -1 ghrjufjf frgt fgr-45 678 -2 ghjruir frgt fgr-34 546 -5 gjjjgkldlld frgt... (4 Replies)
Discussion started by: Lucky Ali
4 Replies

9. Shell Programming and Scripting

recoding data points using SED??

Hello all, I have a data file that needs some serious work...I have no idea how to implement the changes that are needed! The file is a genotypic file with >64,000 columns representing genetic markers, a header line, and >1100 rows that looks like this: ID 1 2 3 4 ... (7 Replies)
Discussion started by: doobedoo
7 Replies

10. Shell Programming and Scripting

to extarct data points

suppose u have a file which consist of many data points separated by asterisk Question is to extract third part in each line . 0.0002*0.003*-0.93939*0.0202*0.322*0.3332*0.2222*0.22020 0.003*0.3333*0.33322*-0.2220*0.3030*0.2222*0.3331*-0.3030 0.0393*0.3039*-0.03038*0.033*0.4033*0.30384*0.4048... (5 Replies)
Discussion started by: cdfd123
5 Replies
Login or Register to Ask a Question