Sponsored Content
Full Discussion: Square matrix to columns
Top Forums Shell Programming and Scripting Square matrix to columns Post 302796331 by franzpizzo on Friday 19th of April 2013 09:12:55 AM
Old 04-19-2013
Try this:

Code:
cat matrix.txt
A B C D
A 0.00 0.06 0.51 0.03
B 0.06 0.00 0.72 0.48
C 0.51 0.72 0.00 0.01
D 0.03 0.48 0.01 0.00


cat matrix.txt| awk -F" " '{if(NR==1){c1=$1;c2=$2;c3=$3;c4=$4;}else{
if (c1<=$1) printf "%s%s %s\n",c1,$1,$2;
if (c2<=$1) printf "%s%s %s\n",c2,$1,$3;
if (c3<=$1) printf "%s%s %s\n",c3,$1,$4;
if (c4<=$1) printf "%s%s %s\n",c4,$1,$5;}}'

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

convert matrix to row and columns

Dear Unix Gurus, I have a sample data set that looks like this y1 y2 y3 y4 y5 x1 0.3 0.5 2.3 3.1 5.1 x2 1.2 4.1 3.5 1.7 1.2 x3 3.1 2.1 1.0 4.1 2.1 x4 5.0 4.0 6.0 7.0 1.1 I want to open it up so that I get x1 y1 0.3 x2 y1 1.2 x3 y1 3.1 x4 y1 5.0 x1 y2 0.5 x2 y2... (3 Replies)
Discussion started by: tintin72
3 Replies

2. Shell Programming and Scripting

diagonal matrix to square matrix

Hello, all! I am struggling with a short script to read a diagonal matrix for later retrieval. 1.000 0.234 0.435 0.123 0.012 0.102 0.325 0.412 0.087 0.098 1.000 0.111 0.412 0.115 0.058 0.091 0.190 0.045 0.058 1.000 0.205 0.542 0.335 0.054 0.117 0.203 0.125 1.000 0.587 0.159 0.357... (11 Replies)
Discussion started by: yifangt
11 Replies

3. Shell Programming and Scripting

Adding the individual columns of a matrix.

I have a huge matrix file containing some 1.5 million rows and 6000 columns. The matrix looks something like this: 1 2 3 4 5 6 7 8 9 3 4 5 I want to add all the numbers in the columns of this matrix and display the result to my stdout. This means that the numbers in the first column are: ... (2 Replies)
Discussion started by: shoaibjameel123
2 Replies

4. Shell Programming and Scripting

Extract values from a matrix given the rows and columns

Hi All, I have a huge (and its really huge!) matrix about 400GB in size (2 million rows by 1.5 million columns) . I am trying to optimize its space by creating a sparse representation of it. Miniature version of the matrix looks like this (matrix.mtx): 3.4543 65.7876 54.564 2.12344... (4 Replies)
Discussion started by: shoaibjameel123
4 Replies

5. Shell Programming and Scripting

conversion: 3 columns into matrix

Hi guys, here https://www.unix.com/shell-programming-scripting/193043-3-column-csv-correlation-matrix-awk-perl.html I found awk script converting awk '{ OFS = ";" if (t) { if (l != $1) t = t OFS $1 } else t = OFS $1 x = x ? x OFS $NF : $NF l = $1 }... (2 Replies)
Discussion started by: grincz
2 Replies

6. Programming

Converting columns to matrix

Dear All I would like to convert columns to matrix For example my data looks like this D2 0 D2 0 1.0 D2 0 D2 1 0.308 D2 0 D2 2 0.554 D2 0 D2 3 0.287 D2 0 D2 4 0.633 D2 0 D2 5 0.341 D2 0 D2 6 0.665 D2 0 D2 7 0.698 D2 0 D2 8 0.625 D2 0 D2 9 0.429 D2 0 D2 10 0.698 D2 0 D2 11... (7 Replies)
Discussion started by: bala06
7 Replies

7. Programming

Transforming 3 columns to matrix format

Dear All I have a huge data for 3 columns similar to this D2cls0 D2cls0 1 D2cls0 D2cls1 0.308 D2cls0 D2cls2 0.554 D2cls0 D2cls3 0.287 D2cls0 D2cls4 0.633 D2cls0 D2cls5 0.341 D2cls0 D2cls6 0.665 D2cls0 D2cls7 0.698 D2cls0 D2cls8 0.625 D2cls0 D2cls9 0.429 I... (9 Replies)
Discussion started by: bala06
9 Replies

8. 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

9. 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

10. Shell Programming and Scripting

Transform columns to matrix

The following code transform the matrix to columns. Is it possible to do it other way around ( get the input from the output) ? input y1 y2 y3 y4 y5 x1 0.3 0.5 2.3 3.1 5.1 x2 1.2 4.1 3.5 1.7 1.2 x3 3.1 2.1 1.0 4.1 2.1 x4 5.0 4.0 6.0 7.0 1.1 output x1 y1 0.3 x2 y1 1.2 x3... (1 Reply)
Discussion started by: quincyjones
1 Replies
mcx convert(1)							  USER COMMANDS 						    mcx convert(1)

  NAME
      mcx convert - convert between mcx storage types

  SYNOPSIS
      mcx convert <matrix-file-in> <matrix-file-out>
      mcx convert [--write-binary] --cone-to-stack <cat-file-in> <cat-file-out>
      mcx convert [--write-binary] --stack-to-cone <cat-file-in> <cat-file-out>

      mcxconvert  is  not  in  actual fact a program. This manual page documents the behaviour and options of the mcx program when invoked in mode
      convert. The options -h, --apropos, --version, -set, --nop, -progress <num> are accessible in all mcx modes. They are described in  the  mcx
      manual page.

      mcx  convert  [--cone-to-stack  (transform  cone	file to stack file)] [--stack-to-cone (transform stack file to cone file)] [--write-binary
      (output native binary format)] [--cat (read and write cat format)] [-cat-max <num> (limit the stack conversion to <num> matrices)]

      In the two-argument invocation without additional arguments, mcx convert converts from the format found in the first file to the other  for-
      mat, i.e.  from native interchange to native binary format or the other way around. When querying with the -q option, mcx{convert} will out-
      put a one-line synopsis describing the matrix in the argument. The --cone-to-stack and --stack-to-cone options convert between the two types
      of concatenated output provided by mclcm.

  DESCRIPTION
      The  mcl	libraries make extensive use of matrices. Matrices are used to encode graphs, matrices and clusterings.  They can be stored either
      in interchange or in binary format. The latter is somewhat more efficient in storage and much faster in both reading and	writing,  but  the
      default is interchange format.

      The  mcl input routines recognize the type of storage they are dealing with. If you want to convert a matrix to the other storage type, sim-
      ply specify the file name of the matrix you want to convert.  mcx convert will recognize its type, and write the	other  type  to  the  file
      specified as the second argument.

  OPTIONS
      --cone-to-stack (transform cone file to stack file)
	This option requires two trailing options, the names of respectively the source cone file and the target stack file.

      --stack-to-cone (transform stack file to cone file)
	This option requires two trailing options, the names of respectively the source stack file and the target cone file.

      --cat (read and write cat format)

      -cat-max <num> (limit the stack conversion to <num> matrices)

      --write-binary (output native binary format)
	This option is only useful with either of the options --cone-to-stack, --stack-to-cone, or --cat.

  AUTHOR
      Stijn van Dongen.

  SEE ALSO
      mcxio(5), and mclfamily(7) for an overview of all the documentation and the utilities in the mcl family.

  mcx convert 12-068						      8 Mar 2012						      mcx convert(1)
All times are GMT -4. The time now is 02:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy