Averaging segments and including the name


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Averaging segments and including the name
# 1  
Old 12-01-2009
Averaging segments and including the name

Hello,
I have a awk line that averages rows.

So if my file looks like this:

Code:
Jack  1  1  1  1  1  1
Joe    1  1  1  1  1  1
Jerry  0  0  0  0  0  0
John  1  1  1  0  0  0

The awk line below skips column 1 and then averaged the rows

Code:
awk -F'\t' -v r=3 '{for(i=r+1;i<=NF;i+=r){for(j=0;j<r;j++){sum+=$(i-j)}printf "%s ", sum/r;sum=0}; printf "\n"}'

The end product looks like this
Code:
1  1  
1  1 
0  0
1  0

Basically what I want to do is print the first column as well... (the names)

So the end product will look like this:

Code:
Jack  1  1
Joe    1  1
Jerry  0  0
John  1  0

what modifications do I need to make?
thanksSmilie
# 2  
Old 12-01-2009
I don't fully understand the logic, but.... I think you want this:
Code:
awk -F'\t' -v r=3 '
  {
    for(i=r+1;i<=NF;i+=r){
       printf("%s%c", $1, OFS)
       for(j=0;j<r;j++)
          sum+=$(i-j)
       printf "%s ", sum/r;sum=0
   }
   printf "\n"
 }' myFile

# 3  
Old 12-01-2009
binning

basically I want to bin starting at column 2 (and also print the first column). The bin size can vary , but in this case its 3.

I had some problems with that line, I dont quite understand the change.
# 4  
Old 12-02-2009
Code:
awk -F'\t' -v r=3 '
{
  printf("%s%c", $1, OFS)
  for(i=2;i<=NF; i+=r) {
     for(j=0; j<r;j++)
       sum+=$(i+j)
     printf("%d%c", sum/r, (i+j-1==NF)?ORS:OFS)
     sum=0
  }
}' myFile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extracting segments

I have queue.txt with the following contents: Queue on node ... description : type : local max message len : 104857600 max queue depth : 5000 queue depth max event : enabled persistent msgs : yes backout... (5 Replies)
Discussion started by: Daniel Gate
5 Replies

2. Shell Programming and Scripting

Grep start and end line of each segments in a file

Cat file1 -------- ---------- SCHEMA.TABLE1 insert------- update----- ------------- ---------- SCHEMA.TABLE2 insert------- update----- ----------- ------------ SCHEMA.TABLE3 insert------- update----- ------------ grep -n SCHEMA > header_file2.txt (2 Replies)
Discussion started by: Veera_V
2 Replies

3. SuSE

TCP segments retransmission

Hi all, I got an application that is running on SUSE Linux. I would like to get some data about the number of TCP segments retransmission on a particular interface. Is there any way I can get that? Thanks, (2 Replies)
Discussion started by: Pouchie1
2 Replies

4. UNIX for Dummies Questions & Answers

Averaging

Hello all, I'm trying to perform an averaging procedure which selects a selection of rows, average the corresponding value, selects the next set of rows and average the corresponding values etc. The data below illustrates what I want to do. Given two columns (day and value), I want to... (2 Replies)
Discussion started by: Muhammad Rahiz
2 Replies

5. Shell Programming and Scripting

Averaging segments

Hi, I have a file that I want to average. So specifically I want to average every third column for each row. Here is an example of my file 2 2 2 3 3 3 1 1 1 5 5 5 Heres what I want it to look like after averaging every third column 2 3 1 5 thanks (11 Replies)
Discussion started by: kylle345
11 Replies

6. Programming

C programming - Memory Segments

Can someone tell me how many bytes are allocated for C segments(text,data,heap,stack). (3 Replies)
Discussion started by: nandumishra
3 Replies

7. Shell Programming and Scripting

Compare EDI files by skipping selected Segments

Hi, I wanted to compare EDI files present in Two different Directories which can be related by the file names. While comparing the EDI files i have to skip selected segments such as "ISA" "IEA" and "GS" "GE" since this may have datetime stamp and different "Sender" "Receiver" Qual. and... (3 Replies)
Discussion started by: Sivas
3 Replies

8. Programming

Write into shared memory segments

I have created a shared memory segment (which size is 64 bytes) using shmget, shmat e.t.c and i want to divide it into 2 areas. One area for input data and one area for output? How can i do that? Furthermore, When i have to write my input data into the shared memory segment i want to write... (3 Replies)
Discussion started by: mae4
3 Replies

9. HP-UX

HP-UX Trying to Understand Shared Memory Segments

I am fairly new to HP-UX and trying to get a better understanding of the operating system. While poking around a bit I find myself questioning whether I should be concerned about Shared Memory segments with missing CPID and LPID? For example: ipcs -mp IPC status from /dev/kmem as of Mon Mar... (2 Replies)
Discussion started by: scotbuff
2 Replies

10. HP-UX

Shared Memory segments

Hello.... AIX has a limit of 11 shared memory segments per process, does any one know how many HP have?? If so how do I find that out?? Thanks in advance...... (2 Replies)
Discussion started by: catwomen
2 Replies
Login or Register to Ask a Question