Sponsored Content
Top Forums Shell Programming and Scripting convert data into matrix- awk Post 302602402 by rangarasan on Monday 27th of February 2012 09:10:28 AM
Old 02-27-2012
awk

Hi,

Try this one,

Code:
awk '{f1[$3]++;f2[$2]++;a[$3"^"$2]++;}END{ORS="";print "      ";for(j in f2){print j" ";c++;if(c>5){print " ";}}print "\n";for(i in f1){print i;for(k in f2){l=i"^"k;if(a[l] == ""){print "        ";}else{print "   "a[l]"    ";}}print "\n";}}' file

My Output is,

Code:
 
      state7 state8 state9 state10 state11 state12  state1  state13  state2  state14  state3  state15  state4  state5  state6
cell1   2       2       2       2       2       2       2       2       2       2       2       2       2       2       2
cell2   1       1       1       1       1       1       1       1       1       1       1       1       1       1       1
cell3                                                   4                       1

if you have gawk, you can sort the header with below code,

Code:
gawk '{f1[$3]++;f2[$2]++;a[$3"^"$2]++;}END{asort(f1);ORS="";print "      ";for(j in f2){print j" ";c++;if(c>5){print " ";}}print "\n";for(i in f1){print i;for(k in f2){l=i"^"k;if(a[l] == ""){print "        ";}else{print "   "a[l]"    ";}}print "\n";}}' file

i dont have gwk installed here, so i didn't used that.

Cheers,
RangaSmilie
These 2 Users Gave Thanks to rangarasan For This Post:
 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

By using AWK can I convert matrice shaped data to a row ?

Hello, I have output in the matrice form , for example: 1 2 3 4 a b c d jim joe sue tom how can I convert this line-column data into a row as follows 1 2 3 4 a b c d jim joe sue tom thank you (14 Replies)
Discussion started by: rpf
14 Replies

2. Shell Programming and Scripting

two-column data to matrix in AWK

Howdy, I need to convert an association data matrix, currently in a two-column format, into a matrix with numbers indicating the number of associations. I've been looking around for AWK code in the list, but could not find anything. Here's an example of what I want to perform: original... (10 Replies)
Discussion started by: sramirez
10 Replies

3. Ubuntu

How to convert full data matrix to linearised left data matrix?

Hi all, Is there a way to convert full data matrix to linearised left data matrix? e.g full data matrix Bh1 Bh2 Bh3 Bh4 Bh5 Bh6 Bh7 Bh1 0 0.241058 0.236129 0.244397 0.237479 0.240767 0.245245 Bh2 0.241058 0 0.240594 0.241931 0.241975 ... (8 Replies)
Discussion started by: evoll
8 Replies

4. UNIX for Dummies Questions & Answers

Convert nxm Matrix into columns of data

Dear Unixers, I'm having some difficulty in converting an n x m data matrix into a dataset of 3 columns and nxm rows. As an example I want to convert this dataset 2 3 4 5 2 0.0 0.0 0.1 0.1 6 -0.3 2.0 0.0 0.3 7 -0.6 -1.1 0.5 0.3 9 -0.9 -4.1 -0.7 0.5 ... (2 Replies)
Discussion started by: tintin72
2 Replies

5. Shell Programming and Scripting

awk to convert table-by-row to matrix table

Hello, I need some help to reformat this table-by-row to matrix? infile: site1 A:o,p,q,r,s,t site1 C:y,u site1 T:v,w site1 -:x,z site2 A:p,r,t,v,w,z site2 C:u,y site2 G:q,s site2 -:o,x site3 A:o,q,s,t,u,z site3 C:y site3 T:v,w,x site3 -:p,routfile: SITE o p q r s t v u w x y... (7 Replies)
Discussion started by: yifangt
7 Replies

6. Shell Programming and Scripting

How order a data matrix using awk?

is it possible to order the following row clusters from ascending to descending. thanx in advance input 1 2 4 0 1 2 4 0 3 3 3 3 1 5 1 0 1 5 1 0 6 0 0 0 5 1 1 1... (4 Replies)
Discussion started by: quincyjones
4 Replies

7. Shell Programming and Scripting

Convert data into tabular matrix

Hi There, I want to convert the following data into tabular matrix, based on column 4th and 5th, and output the column 10th value chr1 2804449 2804450 NACpG_1 window1 + chr1 2804443 2804475 1 chr1 2804450 2804451 NACpG_1 window2 + chr1 2804443 ... (3 Replies)
Discussion started by: ChiragNepal
3 Replies

8. Shell Programming and Scripting

How to convert 2 columns into matrix -awk?

How can i convert two columns in to o and 1 matrix. thnks Input a c1 b c2 c c1 d c3 e c4 output c1 c2 c3 c4 a 1 0 0 0 b 0 1 0 0 c 1 0 0 0 d 0 0 ... (5 Replies)
Discussion started by: quincyjones
5 Replies
UNAME(1)						    BSD General Commands Manual 						  UNAME(1)

NAME
uname -- Print operating system name SYNOPSIS
uname [-amnprsv] DESCRIPTION
The uname utility writes symbols representing one or more system characteristics to the standard output. The following options are available: -a Behave as though all of the options -mnrsv were specified. -m print the machine hardware name. -n print the nodename (the nodename may be a name that the system is known by to a communications network). -p print the machine processor architecture name. -r print the operating system release. -s print the operating system name. -v print the operating system version. If no options are specified, uname prints the operating system name as if the -s option had been specified. SEE ALSO
hostname(1), machine(1), sw_vers(1), uname(3) STANDARDS
The uname utility conforms to IEEE Std 1003.2-1992 (``POSIX.2''). The -p option is an extension to the standard. BSD
November 9, 1998 BSD
All times are GMT -4. The time now is 06:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy