Sponsored Content
Full Discussion: averaging columns
Top Forums Shell Programming and Scripting averaging columns Post 302552173 by durden_tyler on Friday 2nd of September 2011 01:05:55 AM
Old 09-02-2011
Quote:
Originally Posted by kylle345
...
Code:
     1  2  3  4  5  6  7
abr  5  6  7  1  2  4  5
hhr  2  1  3  4  2  1  2
iip   1  3  1  1  5  3  2

I want to just print the average of each column while ignoring the first column and first row.
...
Code:
$
$
$ cat data.txt
     1  2  3  4  5  6  7
abr  5  6  7  1  2  4  5
hhr  2  1  3  4  2  1  2
iip  1  3  1  1  5  3  2
$
$
$ perl -lane 'if ($. > 1) {
                $n++;
                foreach $i (1..$#F) { push @{$x{$i}}, $F[$i] }}
              END {
                foreach $k (sort keys %x) {
                  $sum += $_ foreach @{$x{$k}};
                  $str .= sprintf("%.4f ", $sum/$n);
                  $sum = 0;
              }
              print $str}
             ' data.txt
2.6667 3.3333 3.6667 2.0000 3.0000 2.6667 3.0000
$
$
$

tyler_durden
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

AWK - averaging $3 by info in $1

Hello, I have three columns of data of the format below: <name> <volume> <size> a 2 1.2 a 2 1.1 b 3 1.7 c 0.7 1.9 c 0.7 1.9 c 0.7 1.8 What I... (3 Replies)
Discussion started by: itisthus
3 Replies

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

3. Shell Programming and Scripting

Averaging multiple columns

Hello, I am trying to average multiple columns simultaneously while skipping the first column. I am using this awk line to average one column awk '{sum+=$3} END { print "Average = ",sum/NR}' But I want to be able to do it for multiple columns while skipping the first column. There... (4 Replies)
Discussion started by: gisele_l
4 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 and including the name

Hello, I have a awk line that averages rows. So if my file looks like this: 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 awk -F'\t' -v r=3... (3 Replies)
Discussion started by: phil_heath
3 Replies

6. UNIX for Dummies Questions & Answers

Averaging the rows using 'awk'

Dear all, I have the data in the following format. I want to do average of each NR= 5 (rows) for all the 3 ($1,$2, $3) columns and want to print average result in another file in the same format. I dont know how to write code for this in 'awk', can some one help me to write a code for this in... (1 Reply)
Discussion started by: arvindr
1 Replies

7. UNIX for Dummies Questions & Answers

Averaging 100 columns together line by line

Hi I have 100 xy graphs and need to average these together in a line by line fashion. The value of the x axis are the same. y differs e.g. taking only 2 graphs: graph 1 x y 1 3 2 5 3 7 4 9 5 11 graph 2 x y 1 4 2 6 3 10 (2 Replies)
Discussion started by: jenjen_mt
2 Replies

8. Shell Programming and Scripting

Averaging Data From Multiple Columns, Using Header if Possible

Hi, I have a file with multiple tab delimited columns and I would like to have the average of each column: Iteration Tree No Lh HMean 1000 1 -78.834717 -78.834717 1100 1 -77.991031 -78.624046 1200 1 -79.416055 -78.761861 1300 1 -79.280494 -78.968099 1400 1 -82.846275 -80.808696 ... (4 Replies)
Discussion started by: mikey11415
4 Replies

9. Shell Programming and Scripting

Averaging help in awk

Hi all, I have a data file like below, where Time is in the second column DATE TIME FRAC_DAYS_SINCE_JAN1 2011-06-25 08:03:20.000 175.33564815 2011-06-25 08:03:25.000 175.33570602... (10 Replies)
Discussion started by: gd9629
10 Replies

10. Shell Programming and Scripting

Averaging 3 files

Hi, I am trying to average the values from 3 files with the same format. They are very large files so I will describe the file and show some it of. Basically the file has 83 columns (with nearly 7000 rows). The first three columns are the same for each file while the remaining 80 are values... (3 Replies)
Discussion started by: kylle345
3 Replies
sum(1)								   User Commands							    sum(1)

NAME
sum - print checksum and block count for a file SYNOPSIS
sum [-r] [file]... DESCRIPTION
The sum utility calculates and prints a 16-bit checksum for the named file and the number of 512-byte blocks in the file. It is typically used to look for bad spots, or to validate a file communicated over some transmission line. OPTIONS
The following options are supported: -r Use an alternate (machine-dependent) algorithm in computing the checksum. OPERANDS
The following operands are supported: file A path name of a file. If no files are named, the standard input is used. USAGE
See largefile(5) for the description of the behavior of sum when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes). ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of sum: LC_CTYPE, LC_MESSAGES, and NLSPATH. EXIT STATUS
The following exit values are returned. 0 Successful completion. >0 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------------------------------------+ | ATTRIBUTE TYPE ATTRIBUTE VALUE | |Availability SUNWesu | |CSI Enabled | +-----------------------------------------------------------+ SEE ALSO
cksum(1), sum(1B), wc(1), attributes(5), environ(5), largefile(5) DIAGNOSTICS
Read error is indistinguishable from end of file on most devices. Check the block count. NOTES
Portable applications should use cksum(1). sum and usr/ucb/sum (see sum(1B)) return different checksums. SunOS 5.11 7 Nov 1995 sum(1)
All times are GMT -4. The time now is 06:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy