emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] searching for csv utilities


From: Jude DaShiell
Subject: Re: [O] searching for csv utilities
Date: Wed, 3 Jun 2015 17:12:36 -0400 (EDT)
User-agent: Alpine 2.11 (NEB 23 2013-08-11)

Hi Jonathan,

calc has vmode if that helps any.
On Wed, 3 Jun 2015, Jonathan Leech-Pepin wrote:

Date: Wed, 3 Jun 2015 12:38:37
From: Jonathan Leech-Pepin <address@hidden>
To: Jude DaShiell <address@hidden>
Cc: Org Mode Mailing List <address@hidden>
Subject: Re: [O] searching for csv utilities

On 3 June 2015 at 12:07, Jude DaShiell <address@hidden> wrote:

This is a piece of a modified ecm that may show what's going on.

cut here.
|----------------------+---------+--------+--------+--------|
| Averages:            |         |        |        |        |
| Counts:              |         |        |        |        |
| Maximums:            |         |        |        |        |
| Medians:             |         |        |        |        |
| Minimums:            |         |        |        |        |
| Modes:               |         |        |        |        |
| Standard Deviations: |         |        |        |        |
| Sums:                | 108.69) | 70.45) | 66.62) | 92.93) |
|----------------------+---------+--------+--------+--------|
#+TBLFM: @>$2..@>$>=vmean(@I..@>>;%.2f)

I haven't even attempted the rest of the math since I have no way to
predict where any of the results will land.


@> means last line, @>> is second to last, @>>> third to last and so on.
So for 7th from the bottom it would be @>>>>>>>.

Re: PrintF specification
Everything after the =;= is considered part of the specification, so the
=)= used to close the vmean is actually part of the specification.
Changing that to =vmean();%.2f= will correct it.



For your sample ECM (plus original data and one sample line to actually
confirm median works) you would work with the following (Apologies for the
very long TBLFM line):

I was unable to find a built-in to determine the mode.  I've found sample
functions on Stack Overflow that would calculate it based on a list, but
I'm not familiar enough with Org-Table format on how to go from cell
references address@hidden@II= to a list of values for the sake of manipulating 
them.

: | Date                 |    Sys |    Dia |    Pul |  Sugar |
: |----------------------+--------+--------+--------+--------|
: | [2014-04-27 Sun]     |    125 |     88 |     78 |     92 |
: | [2014-04-28 Mon]     |    102 |     88 |     86 |     92 |
: | [2014-04-29 Tue]     |    115 |     88 |     85 |     95 |
: |----------------------+--------+--------+--------+--------|
: | Averages:            | 114.00 |  88.00 |  83.00 |  93.00 |
: | Counts:              |   3.00 |   3.00 |   3.00 |   3.00 |
: | Maximums:            | 125.00 |  88.00 |  86.00 |  95.00 |
: | Medians:             | 115.00 |  88.00 |  85.00 |  92.00 |
: | Minimums:            | 102.00 |  88.00 |  78.00 |  92.00 |
: | Modes:               |        |        |        |        |
: | Standard Deviations: |  11.53 |   0.00 |   4.36 |   1.73 |
: | Sums:                | 342.00 | 264.00 | 249.00 | 279.00 |
: |----------------------+--------+--------+--------+--------|
: #+TBLFM: 
@>$2..@>$>=vsum(@address@hidden);%.2f::@>>$2..@>>$>=vsdev(@address@hidden
);%.2f::@>>>>$2..@>>>>$>=vmin(@address@hidden);%.2f::@>>>>>$2..@
$>=vmedian(@address@hidden);%.2f::@>>>>>>$2..@>>>>>>$>=vmax(@address@hidden);%.2f::@
$2..@>>>>>>>$>=vcount(@address@hidden);%.2f::@>>>>>>>>$2..@
$>=vmean(@address@hidden);%.2f

Regards,
Jonathan

On Tue, 2 Jun 2015, Jonathan Leech-Pepin wrote:

 Date: Tue, 2 Jun 2015 08:04:20
From: Jonathan Leech-Pepin <address@hidden>
To: Jude DaShiell <address@hidden>
Cc: Org Mode Mailing List <address@hidden>
Subject: Re: [O] searching for csv utilities

Hello,

On 2 June 2015 at 07:44, Jude DaShiell <address@hidden> wrote:

 | Date             |               Sys | Dia | Pul | Sugar |
|------------------+-------------------+-----+-----+-------|
| [2014-04-27 Sun] |               125 |  88 |  78 |    92 |
| [2014-04-28 Mon] |               102 |  88 |  86 |    92 |
| Averages:        | =$2=vmean(@<..@>) |     |     |       |
#+TBLFM: $2=$2=vmean(@<..@>)


The formula in question is the culprit in this case (at least as stated
there).

: $2=$2=vmean(@<..@>)

Second column is equal to the second column which is equal to the mean of
all the values in the second column (including the header "Sys").

If you change the table as follows:

| Date             |   Sys | Dia | Pul | Sugar |
|------------------+-------+-----+-----+-------|
| [2014-04-27 Sun] |   125 |  88 |  78 |    92 |
| [2014-04-28 Mon] |   102 |  88 |  86 |    92 |
|------------------+-------+-----+-----+-------|
| Averages:        | 113.5 |  88 |  82 |    92 |
#+TBLFM: @>$2..@>$>=vmean(@address@hidden)

All the values will properly compute.  If you want to avoid the second
HLINE above Averages: then change address@hidden to =@>>= (penultimate row)

Regards,
Jon


 This is a cut down version of my full record set.  Sometimes when I key
formulas in I get ?ERROR back for a result after keying in c-c+c-c once
I've completed the formula and hit tab.  If I do c-u+c-c+c-c that
sometimes
generated ?ERROR.  Other times I key in a formula and the cursor gets
locked and I have to hit c-g to exit #+TBLFM: mode; I don't know what's
actually happening when that situation arises since other than suddenly
finding the cursor locked I can neither tell what state I'm in or if a
few
more keystrokes are needed or if I've generated an error situation.

 --





--




--




reply via email to

[Prev in Thread] Current Thread [Next in Thread]