[R] need more help.... Re: iterating over a data frame the R way?

Gabor Grothendieck ggrothendieck at gmail.com
Fri Jan 1 17:44:23 CET 2010


Reinstall R but this time choose the Mac version that includes tcl.
You shouldn't have to separately install it.

On Fri, Jan 1, 2010 at 11:20 AM,  <donahchoo at me.com> wrote:
> Okay, I don't know if I'm blocking because of my other programming language
> experience of if I'm just being dense.
>
> I have a data.frame with high,open,low,last,day, and start_time time
> columns.  What I want to do is get all the rows with the same day and
> process each of those columns.  If I was able to run a query against the
> data.frame I would be want something like:
>
> result = all the rows where the day is equal to 2007-12-05
>
> Then I would want get max(result["high"]), min(result["low"])
>
> How do I do this?  I tired sqldf, but its complaining about libtcl0.5.8 not
> being found.  I'm on OS X 10.5.8 and haven't yet tired to install a new
> version of tcl in /usr/local.
>
> Here's the dataframe:

For sqldf, unlike other platforms where all versions of R include tcl,
on the Mac there are versions of R with and without tcl so you need to
reinstall R using a version that includes it.

However, in this case since you are dealing specifically with
open/high/low/close series, the xts package already has specific
facilities:

library(xts)
library(chron)

# assume object in attachment to original post is called d.
# Convert it to xts object and set columns to OHLC names it understands.
x <- xts(d[1:4], as.chron(paste(d$day, d$start_time)))
colnames(x) <- c("High", "Open", "Low", "Close")

xday <- to.daily(x)
head(xday)



More information about the R-help mailing list