Sponsored Content
Top Forums Shell Programming and Scripting How to print median values of matrix -awk? Post 302999545 by quincyjones on Thursday 22nd of June 2017 10:51:34 AM
Old 06-22-2017
How to print median values of matrix -awk?

I use the following script to print the sum and how could I extend this to print medians instead? thanks

Code:
name	s1	s2	s3	s4
g1	2	8	6	5
g1	5	7	9	9
g1	6	7	8	9
g2	8	8	8	8
g2	7	7	7	7
g2	10	10	10	10
g3	3	12	1	24
g3	5	5	24	48
g3	12	3	12	12
g3	2	3	3	3



output
Code:
name	s1	s2	s3	s4
g1	5	7	8	9
g2	7	7	7	7
g3	4	4	7.5	18


scripts - mean

Code:
NR==1 {
    print
    next
}
    # print average of each column per year
    #  then, reset columns sums and number of lines
function print_sum() {
    printf prev
    # needs GNU awk, for length of array
    for (i=2; i < length(sum) + 2; i++) {
            printf FS sum[i]/nlines
            sum[i] = 0
    }
    printf ORS
    nlines = 0
}
    # print average when $1 changes, but not the first time
    # also, on end of script
NR>2 && prev!=$1 { print_sum() }
END              { print_sum() }
    # for every line with the same $1, sum column values, increment number of lines
{
    prev=$1;
    nlines++
    for (i=2; i <= NF; i++) {
            sum[i]+=$i
    }
}
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Awk to print distinct col values

Hi Guys... I am newbie to awk and would like a solution to probably one of the simple practical questions. I have a test file that goes as: 1,2,3,4,5,6 7,2,3,8,7,6 9,3,5,6,7,3 8,3,1,1,1,1 4,4,2,2,2,2 I would like to know how AWK can get me the distinct values say for eg: on col2... (22 Replies)
Discussion started by: anduzzi
22 Replies

2. Shell Programming and Scripting

awk to median

hi! i have a file like the attachement. you can see on the last column, there is a marker from 1 to 64 for each time. I'd like to have the median for each marker: i want to get a median every 128 values the result is : for an hour and marker x, i have the median value thank you for... (5 Replies)
Discussion started by: riderman
5 Replies

3. Shell Programming and Scripting

Print a key with its all values using awk/others

input COL1 a1 b1 c1 d1 e1 f1 C1 10 10 10 100 100 1000 C2 20 20 200 200 200 2000 output C1 a1 10 1 C1 b1 10 1 C1 c1 10 1 C1 d1 100 2 C1 e1 100 2 C1 f1 1000 3 C2 ... (12 Replies)
Discussion started by: ruby_sgp
12 Replies

4. Shell Programming and Scripting

Help fixing awk code to print values from 2 files

Hi everyone, Please help on this: I have file1: <file title="Title 1 and 2"> <report> <title>Title 1</title> <number>No. 1234</number> <address>Address 1</address> <date>October 07, 2009</date> <description>Some text</description> </report> ... (6 Replies)
Discussion started by: Ophiuchus
6 Replies

5. UNIX for Advanced & Expert Users

Awk to print values of second file

Hello, I have a data file with 300,000 records in it, and another file which contains only the line numbers of roughly 13,000 records in the data file which have data integrity issues. I'm trying to find a way to print the original data by line number identified in the second file. How can I do... (2 Replies)
Discussion started by: peteroc
2 Replies

6. Shell Programming and Scripting

Print minimum and maximum values using awk

Can I print the minimum and maximum values of values in first 4 columns ? input 3038669 3038743 3037800 3038400 m101c 3218627 3218709 3217600 3219800 m290 ............. output 3037800 3038743 m101c 3217600 3219800 m290 (2 Replies)
Discussion started by: quincyjones
2 Replies

7. Shell Programming and Scripting

How to print in awk matching $1 values ,to $1,$4 example given.?

Hi Experts, I am trying to get the output from a matching pattern but unable to construct the awk command: file : aa bb cc 11 dd aa cc 33 cc 22 45 68 aa 33 44 44 dd aa cc 37 aa 33 44 67 I want the output to be : ( if $1 match to "aa" start of the line,then print $4 of that line, and... (3 Replies)
Discussion started by: rveri
3 Replies

8. Shell Programming and Scripting

awk print values between consecutive lines

I have a file in below format: file01.txt TERM TERM TERM ABC 12315 68.53 12042013 165144 ABC 12315 62.12 12042013 165145 ABC 12315 122.36 12052013 165146 ABC 12315 582.18 12052013 165147 ABC 12316 2.36 12052013 165141 ABC 12316 ... (8 Replies)
Discussion started by: alex2005
8 Replies

9. Shell Programming and Scripting

awk print odd values

value=$(some command) for all in `echo $value` do awk checks each value (all) to see if it is a odd number. if so, prints the value done sounds easy enough but i've been unable to find anything on google. (2 Replies)
Discussion started by: SkySmart
2 Replies

10. Shell Programming and Scripting

Print values within groups of lines with awk

Hello to all, I'm trying to print the value corresponding to the words A, B, C, D, E. These words could appear sometimes and sometimes not inside each group of lines. Each group of lines begins with "ZYX". My issue with current code is that should print values for 3 groups and only is... (6 Replies)
Discussion started by: Ophiuchus
6 Replies
simulation::montecarlo(3tcl)				       Tcl Simulation Tools				      simulation::montecarlo(3tcl)

__________________________________________________________________________________________________________________________________________________

NAME
simulation::montecarlo - Monte Carlo simulations SYNOPSIS
package require Tcl ?8.4? package require simulation::montecarlo 0.1 package require simulation::random package require math::statistics ::simulation::montecarlo::getOption keyword ::simulation::montecarlo::hasOption keyword ::simulation::montecarlo::setOption keyword value ::simulation::montecarlo::setTrialResult values ::simulation::montecarlo::setExpResult values ::simulation::montecarlo::getTrialResults ::simulation::montecarlo::getExpResult ::simulation::montecarlo::transposeData values ::simulation::montecarlo::integral2D ... ::simulation::montecarlo::singleExperiment args _________________________________________________________________ DESCRIPTION
The technique of Monte Carlo simulations is basically simple: o generate random values for one or more parameters. o evaluate the model of some system you are interested in and record the interesting results for each realisation of these parameters. o after a suitable number of such trials, deduce an overall characteristic of the model. You can think of a model of a network of computers, an ecosystem of some kind or in fact anything that can be quantitatively described and has some stochastic element in it. The package simulation::montecarlo offers a basic framework for such a modelling technique: # # MC experiments: # Determine the mean and median of a set of points and compare them # ::simulation::montecarlo::singleExperiment -init { package require math::statistics set prng [::simulation::random::prng_Normal 0.0 1.0] } -loop { set numbers {} for { set i 0 } { $i < [getOption samples] } { incr i } { lappend numbers [$prng] } set mean [::math::statistics::mean $numbers] set median [::math::statistics::median $numbers] ;# ? Exists? setTrialResult [list $mean $median] } -final { set result [getTrialResults] set means {} set medians {} foreach r $result { foreach {m M} $r break lappend means $m lappend medians $M } puts [getOption reportfile] "Correlation: [::math::statistics::corr $means $medians]" } -trials 100 -samples 10 -verbose 1 -columns {Mean Median} This example attemps to find out how well the median value and the mean value of a random set of numbers correlate. Sometimes a median value is a more robust characteristic than a mean value - especially if you have a statistical distribution with "fat" tails. PROCEDURES
The package defines the following auxiliary procedures: ::simulation::montecarlo::getOption keyword Get the value of an option given as part of the singeExperiment command. string keyword Given keyword (without leading minus) ::simulation::montecarlo::hasOption keyword Returns 1 if the option is available, 0 if not. string keyword Given keyword (without leading minus) ::simulation::montecarlo::setOption keyword value Set the value of the given option. string keyword Given keyword (without leading minus) string value (New) value for the option ::simulation::montecarlo::setTrialResult values Store the results of the trial for later analysis list values List of values to be stored ::simulation::montecarlo::setExpResult values Set the results of the entire experiment (typically used in the final phase). list values List of values to be stored ::simulation::montecarlo::getTrialResults Get the results of all individual trials for analysis (typically used in the final phase or after completion of the command). ::simulation::montecarlo::getExpResult Get the results of the entire experiment (typically used in the final phase or even after completion of the singleExperiment com- mand). ::simulation::montecarlo::transposeData values Interchange columns and rows of a list of lists and return the result. list values List of lists of values There are two main procedures: integral2D and singleExperiment. ::simulation::montecarlo::integral2D ... Integrate a function over a two-dimensional region using a Monte Carlo approach. Arguments PM ::simulation::montecarlo::singleExperiment args Iterate code over a number of trials and store the results. The iteration is gouverned by parameters given via a list of keyword- value pairs. int n List of keyword-value pairs, all of which are available during the execution via the getOption command. The singleExperiment command predefines the following options: o -init code: code to be run at start up o -loop body: body of code that defines the computation to be run time and again. The code should use setTrialResult to store the results of each trial (typically a list of numbers, but the interpretation is up to the implementation). Note: Required keyword. o -final code: code to be run at the end o -trials n: number of trials in the experiment (required) o -reportfile file: opened file to send the output to (default: stdout) o -verbose: write the intermediate results(1) or not(0) (default: 0) o -analysis proc: either "none" (no automatic analysis), standard (basic statistics of the trial results and a correlation matrix) or the name of a procedure that will take care of the analysis. o -columns list: list of column names, useful for verbose output and the analysis Any other options can be used via the getOption procedure in the body. TIPS
The procedure singleExperiment works by constructing a temporary procedure that does the actual work. It loops for the given number of tri- als. As it constructs a temporary procedure, local variables defined at the start continue to exist in the loop. KEYWORDS
math, montecarlo simulation, stochastic modelling CATEGORY
Mathematics COPYRIGHT
Copyright (c) 2008 Arjen Markus <arjenmarkus@users.sourceforge.net> simulation 0.1 simulation::montecarlo(3tcl)
All times are GMT -4. The time now is 10:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy