Sponsored Content
Top Forums Shell Programming and Scripting Awk: conversion of matrix formats Post 302780607 by RudiC on Thursday 14th of March 2013 06:45:12 PM
Old 03-14-2013
Your thoughts were quite easy to translate into awk speak, at least for the simple sample that you gave:
Code:
awk     '!HD[$1]        {HD[$1]++}
         !HD[$3]        {HD[$3]++}
                        {PP[$1,$3] = 1
                         PP[$3,$1] = 1
                        }
         END            {printf "  "
                         for (i in HD)   printf "%s ", i; printf "\n"
                         for (i in HD)  {printf "%s ", i
                                         for (j in HD) printf "%s ", PP[i,j]?PP[i,j]:"0"
                                         printf "\n"
                                        }
                        }
        ' file
  A B C D E 
A 0 1 1 0 0 
B 1 0 0 1 0 
C 1 0 0 0 0 
D 0 1 0 0 1 
E 0 0 0 1 0

If Don Cragun's suspicions come true, this might need to be seriously reworked, though.
And, the (i in HD) supplies the names in arbitrary order, esp. in large files, it's by sheer luck they seem sorted in above case. So, in the end you may need to add some sorting code on top.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

need help-matrix inverse (awk)

I have few days to complete my awk homework. But I'm stucked. i hope some1 will help me out. I have to inverse n x n matrix, but I have problems with finding the determinant of the matrix. I found the algoritm, how to find a determinant of n x n matrix:... (0 Replies)
Discussion started by: vesyyr
0 Replies

2. Shell Programming and Scripting

matrix inverse (awk)

I need to inverse a matrix given in a file. The problem is I'm stuck with writing determinant finding algoritm into code. I found this algoritm about finding determinant of nxn matrix. This is what i need: Matrices and Determinants and here: a11 a12 a13 a21 a22 a23 a31 a32 a33... (0 Replies)
Discussion started by: vesyyr
0 Replies

3. Shell Programming and Scripting

awk matrix problem

hi there I'm very new in programing and i've started with awk. I'm processing 200 data files and I need to do some precessing on them. The files have 3 columns with N-lines for each line a have on the first and second value is the same for all the files and only the third is variable. like... (2 Replies)
Discussion started by: philstar
2 Replies

4. Shell Programming and Scripting

awk? adjacency matrix to adjacency list / correlation matrix to list

Hi everyone I am very new at awk but think that that might be the best strategy for this. I have a matrix very similar to a correlation matrix and in practical terms I need to convert it into a list containing the values from the matrix (one value per line) with the first field of the line (row... (5 Replies)
Discussion started by: stonemonkey
5 Replies

5. UNIX for Dummies Questions & Answers

tab-separated file to matrix conversion

hello all, i have an input file like that A A X0 A B X1 A C X2 ... A Z Xx B A X1 B B X3 .... Z A Xx Z B X4 and i want to have an output like that A B C D A X0 X1 X2 Xy B X1 X3 X4 (4 Replies)
Discussion started by: TheTransporter
4 Replies

6. Shell Programming and Scripting

Summing up a matrix using awk

Hi there, If anyone can help me sorting out this small task would be great. Given a matrix like the following: 100 3 3 3 3 3 ... 200 5 5 5 5 5 ... 400 1 1 1 1 1 ... 500 8 8 8 8 8 ... 900 0 0 0 0... (5 Replies)
Discussion started by: JRodrigoF
5 Replies

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

8. Shell Programming and Scripting

how to rearrange a matrix with awk

Hi, every one. I have two files ,one is in matrix like this, one is a list with the same data as the matrix. AB AE AC AD AA AF SA 3 4 5 6 4 6 SC 5 7 2 8 4 3 SD 4 6 5 3 8 3 SE 45 ... (5 Replies)
Discussion started by: xshang
5 Replies

9. Shell Programming and Scripting

Using awk to parse a file with mixed formats in columns

Greetings I have a file formatted like this: rhino grey weight=1003;height=231;class=heaviest;histology=9,0,0,8 bird white weight=23;height=88;class=light;histology=7,5,1,0,0 turtle green weight=40;height=9;class=light;histology=6,0,2,0... (2 Replies)
Discussion started by: Twinklefingers
2 Replies

10. Shell Programming and Scripting

How to sum the matrix using awk?

input A1 B1 A2 B2 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 Output label A1 B1 A2 B2 A1 2 1 1 2 B1 1 2 2 1 A2 1 2 3 2 B2 2 1 2 3 Ex: The number of times that A1 and B1 row values are both 1 should be printed as output. The last row of A1 and B1 in the input match by having 1 in both... (4 Replies)
Discussion started by: quincyjones
4 Replies
XmProcessTraversal(3X)													    XmProcessTraversal(3X)

NAME
XmProcessTraversal - A function that determines which component receives keyboard events when a widget has the focus SYNOPSIS
#include <Xm/Xm.h> Boolean XmProcessTraversal (widget, direction) Widget widget; XmTraversalDirection direction; DESCRIPTION
XmProcessTraversal determines which component of a hierarchy receives keyboard events when the hierarchy that contains the given widget has keyboard focus. Using XmProcessTraversal to traverse to MenuBars, Pulldown MenuPanes, or Popup MenuPanes is not supported. Specifies the widget ID of the widget whose hierarchy is to be traversed. The hierarchy is only traversed up to the top of the shell. If that shell does not currently have the focus, any changes to the element with focus within that shell will not occur until the next time the shell receives focus. Specifies the direction of traversal The direction parameter can have the following values, which cause the routine to take the corresponding actions: XmTRAVERSE_CURRENT--Finds the hierarchy and the tab group that contain widget. If this tab group is not the active tab group, makes it the active tab group. If wid- get is an item in the active tab group, makes it the active item. If widget is the active tab group, makes the first traversable item in the tab group the active item. XmTRAVERSE_DOWN--Finds the hierarchy that contains widget. Finds the active item in the active tab group and makes the item below it the active item. If there is no item below, wraps. XmTRAVERSE_HOME--Finds the hierarchy that contains widget. Finds the active item in the active tab group and makes the first traversable item in the tab group the active item. XmTRA- VERSE_LEFT--Finds the hierarchy that contains widget. Finds the active item in the active tab group and makes the item to the left the active item. If there is no item to the left, wraps. XmTRAVERSE_NEXT--Finds the hierarchy that contains widget. Finds the active item in the active tab group and makes the next item in child order the active item. XmTRAVERSE_NEXT_TAB_GROUP--Finds the hierarchy that contains widget. Finds the active tab group (if any) and makes the next tab group the active tab group in the hierarchy. XmTRAVERSE_PREV--Finds the hierarchy that contains widget. Finds the active item in the active tab group and makes the previous item in child order the active item. XmTRAVERSE_PREV_TAB_GROUP--Finds the hierarchy that contains widget. Finds the active tab group (if any) and makes the previous tab group the active tab group in the hierarchy. XmTRAVERSE_RIGHT--Finds the hierarchy that contains widget. Finds the active item in the active tab group and makes the item to the right the active item. If there is no item to the right, wraps. XmTRAVERSE_UP--Finds the hierarchy that contains widget. Finds the active item in the active tab group and makes the item above it the active item. If there is no item above, wraps. CAUTIONS XmProcessTraversal will not allow traversal to a widget in a different shell. XmProcessTraversal will only allow traversal to widgets that are currently mapped. You cannot call XmProcessTraversal from inside a focusCallback routine (or you will get a segmentation fault). RETURN VALUE
Returns True if the setting succeeded. Returns False if the keyboard focus policy is not XmEXPLICIT, if there are no traversable items, or if the call to the routine has invalid parameters. SEE ALSO
XmGetVisibility(3X), XmIsTraversable(3X) XmProcessTraversal(3X)
All times are GMT -4. The time now is 12:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy