From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Davison Subject: Re: [babel] R - variable names in summary Date: Wed, 09 Dec 2009 11:38:18 -0500 Message-ID: <87k4wwf6h1.fsf@stats.ox.ac.uk> References: <2c75873c0912081550m5da3861fgb3a14f047f8638ae@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NIPYa-0007vH-P0 for emacs-orgmode@gnu.org; Wed, 09 Dec 2009 11:38:28 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NIPYV-0007u7-Mt for emacs-orgmode@gnu.org; Wed, 09 Dec 2009 11:38:28 -0500 Received: from [199.232.76.173] (port=48798 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NIPYV-0007ty-FY for emacs-orgmode@gnu.org; Wed, 09 Dec 2009 11:38:23 -0500 Received: from markov.stats.ox.ac.uk ([163.1.210.1]:51319) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NIPYV-0007CW-0D for emacs-orgmode@gnu.org; Wed, 09 Dec 2009 11:38:23 -0500 In-Reply-To: <2c75873c0912081550m5da3861fgb3a14f047f8638ae@mail.gmail.com> (Graham Smith's message of "Tue, 8 Dec 2009 23:50:44 +0000") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Graham Smith Cc: emacs-orgmode@gnu.org Graham Smith writes: > Dan > > I have started a new thread so it has a propel babel string. I have > also created a small file for testing. > Hi Graham, > The colnames t works as expected, but how do I then see the variable > names when using the summary command, Just use :colnames t again for that. > and str doesn't work at all > (source block produced no output) . They appear OK in the R buffer. OK, so Austin was right about the problem here. Remember that by default, org-babel works in ':results value' mode -- i.e., it tries to give you back an org table corresponding to the *value* of the last expression in your code. But the R function str() simply *prints* out some information about the object. You can see that it has no useful value by doing this in the R buffer: > str.value <- str(babeltest) 'data.frame': 10 obs. of 4 variables: $ ID : int 1 2 3 4 5 6 7 8 9 10 $ var1: int 34 56 78 34 56 23 45 23 89 46 $ var2: int 1 4 3 5 6 7 5 6 7 4 $ var3: int 400 499 500 600 500 300 200 340 400 450 > str.value NULL What you need here is ':results output', which tells org-babel to give you back whatever printed output there is. You'll need to use :results output whenever you want to see the printed output from R as opposed to the value of a data frame/table/vector etc. I've pasted a working version of your example below. Dan > > Orgmode+babel output below > > Graham > > #+srcname:babeltest > #+begin_src R :colnames t (This needs ':session babeltest' for your example to work, but I expect that just accidentally got left out of your email) > babeltest<-read.csv("/home/graham/Dropbox/myotis/Learn/learn/babeltest.csv",header=TRUE) > #+end_src ------------------------------------------------------------------------------- #+srcname:babeltest #+begin_src R :colnames t :session babeltest babeltest<-read.csv("/tmp/babeltest.csv",header=TRUE) #+end_src #+results: babeltest | "ID" | "var1" | "var2" | "var3" | |------+--------+--------+--------| | 1 | 34 | 1 | 400 | | 2 | 56 | 4 | 499 | | 3 | 78 | 3 | 500 | | 4 | 34 | 5 | 600 | | 5 | 56 | 6 | 500 | | 6 | 23 | 7 | 300 | | 7 | 45 | 5 | 200 | | 8 | 23 | 6 | 340 | | 9 | 89 | 7 | 400 | | 10 | 46 | 4 | 450 | #+begin_src R :session babeltest :colnames t summary(babeltest) #+end_src #+results: | "ID" | "var1" | "var2" | "var3" | |-----------------+----------------+---------------+-----------------| | "Min. : 1.00" | "Min. :23.0" | "Min. :1.0" | "Min. :200.0" | | "1st Qu.: 3.25" | "1st Qu.:34.0" | "1st Qu.:4.0" | "1st Qu.:355.0" | | "Median : 5.50" | "Median :45.5" | "Median :5.0" | "Median :425.0" | | "Mean : 5.50" | "Mean :48.4" | "Mean :4.8" | "Mean :418.9" | | "3rd Qu.: 7.75" | "3rd Qu.:56.0" | "3rd Qu.:6.0" | "3rd Qu.:499.8" | | "Max. :10.00" | "Max. :89.0" | "Max. :7.0" | "Max. :600.0" | #+begin_src R :session babeltest :results output str(babeltest) #+end_src #+results: : 'data.frame': 10 obs. of 4 variables: : $ ID : int 1 2 3 4 5 6 7 8 9 10 : $ var1: int 34 56 78 34 56 23 45 23 89 46 : $ var2: int 1 4 3 5 6 7 5 6 7 4 : $ var3: int 400 499 500 600 500 300 200 340 400 450 ------------------------------------------------------------------------------- > > #+resname: babeltest > | "ID" | "var1" | "var2" | "var3" | > |------+--------+--------+--------| > | 1 | 34 | 1 | 400 | > | 2 | 56 | 4 | 499 | > | 3 | 78 | 3 | 500 | > | 4 | 34 | 5 | 600 | > | 5 | 56 | 6 | 500 | > | 6 | 23 | 7 | 300 | > | 7 | 45 | 5 | 200 | > | 8 | 23 | 6 | 340 | > | 9 | 89 | 7 | 400 | > | 10 | 46 | 4 | 450 | > > > > #+begin_src R :session babeltest > summary(babeltest) > #+end_src > > #+resname: > | "Min. : 1.00" | "Min. :23.0" | "Min. :1.0" | "Min. :200.0" | > | "1st Qu.: 3.25" | "1st Qu.:34.0" | "1st Qu.:4.0" | "1st Qu.:355.0" | > | "Median : 5.50" | "Median :45.5" | "Median :5.0" | "Median :425.0" | > | "Mean : 5.50" | "Mean :48.4" | "Mean :4.8" | "Mean :418.9" | > | "3rd Qu.: 7.75" | "3rd Qu.:56.0" | "3rd Qu.:6.0" | "3rd Qu.:499.8" | > | "Max. :10.00" | "Max. :89.0" | "Max. :7.0" | "Max. :600.0" | > > #+begin_src R :session babeltest > str(babeltest) > #+end_src > > #+resname: > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode