[R] Syntax Question
Clint Bowman
clint at ecy.wa.gov
Wed Apr 7 00:46:42 CEST 2004
Thanks, I have gotten past the problem with good old grep:
as.numeric(strsplit(st[grep("KGEG",st)],",")[[1]][4])
[1] 47.62139
The difficulty is trying to work with some complicated records that are
coded up to work with perl. But grep will work perfectly.
Thanks all,
Clint
On Wed, 7 Apr 2004, Jason Turner wrote:
> > I have a large data structure that looks like:
> >
> >> strsplit(st,",")[14395]
> > [1] "KGEG"
> > [2] "SA => KGEG"
> > [3] "72785"
> > [4] "47.62139"
> > [5] "-117.52778"
> > [6] "723"
> > [7] "WA"
> > [8] "US"
> > [9] "2"
> > [10] "SPOKANE SPOKANE INTERNATIONAL AIRPORT"
> > [11] "1"
> >
> >
> > I'd like to be able to retrieve, for example, the latitude
> > as.numeric(strsplit(st,",")[[14395]][4]) and longitude
> > as.numeric(strsplit(st,",")[[14395]][5]) for the entry in the structure
> > where strsplit(st,",")[[14395]][5])=="KGEG" by specifying various station
> > IDs. That is, if I had a simpler structure I could formulate a
> > logical index which would have something along the lines of
> > as.numeric(st[st[1]=="KSEA"][4]) and it would return 47.62139.
>
> Too confusing for me. I'd just convert it to a data frame.
>
> ## UNTESTED!!!
> stm <- t(matrix(st,nrow=11))
> stdf <- data.frame(stm)
> stdf[stdf[,1]=="KSEA",4]
>
> ## <OPTIONAL> - just makes life easier later
> ## do some "as.numeric" calls to various columns.
> stdf[,x] <- as.numeric(stdf[,x])
> ## add some names
> names(stdf) <- c("blah",...)
> ## </OPTIONAL>
>
> Cheers
>
> Jason
>
>
--
Clint Bowman INTERNET: clint at ecy.wa.gov
Air Quality Modeler INTERNET: clint at math.utah.edu
Department of Ecology VOICE: (360) 407-6815
PO Box 47600 FAX: (360) 407-7534
Olympia, WA 98504-7600
More information about the R-help
mailing list