Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: average of column

by daxim (Chaplain)
on Sep 12, 2012 at 15:01 UTC ( #993239=note: print w/ replies, xml ) Need Help??


in reply to average of column

Can you please provide some sample input? Your code confuses me.

Without having seen it the input, the code that fits the problem description is:

perl -F'\t' -lanE'$sum += $F[3]; END { say $sum/$. }'


Comment on Re: average of column
Download Code
Re^2: average of column
by linseyr (Acolyte) on Sep 12, 2012 at 15:08 UTC
    The input is a tab delimited file like:
    chr start end length chr1 10 50 40 chr2 20 80 60
    I want to get the average length of all lines.

      In your OP, you show the following:

      open (MYFILE, '148-N-pvalue0.01_peaks.xls'); #READ THROUGH THE FILE while (my $line = <MYFILE>) { ...

      opening an Excel spread sheet this way will not give you access to the data you want. If you're are trying to parse an Excel spread sheet, consider using a module, like Spreadsheet::ParseExcel for the job. Otherwise, you can use "Save As..." within Excel to save the data as tab-delimited in a text file, e.g., "148-N-pvalue0.01_peaks.txt", which you can then open and process as above.

      toolic shows how to obtain the last column's average, which includes using Acme::Tools. Importantly, two other pragmas begin the solution:

      use warnings; use strict;

      Consider always beginning your scripts with these, as they'll preemptively catch any problematic areas in your scripts--likely saving you many headaches.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://993239]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (12)
As of 2014-08-27 23:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (253 votes), past polls