[R] building data object on iteration

Thomas Lumley tlumley at u.washington.edu
Tue Mar 23 20:22:40 CET 2004


On Tue, 23 Mar 2004, Spencer Graves wrote:

>       What should one use in place of "sub" in S-Plus, where "sub" is a
> subscripting function?

There are probably better places to ask this question....

AFAICS there isn't an equivalent of sub.  In this case you could use
regexpr and substring

regsubstr<-function(re, v){
   matches<-regexpr(re,v)
   ifelse(matches==-1,"", substring(v,matches,matches+attr(matches,"match.length")-1)
}

regsubstr("^[^.]+",filenames)

	-thomas


>       Spencer Graves
>
> Uwe Ligges wrote:
>
> > Fred J. wrote:
> >
> >> Hello
> >> I need help, few days tying to work this out but
> >> unable to find examples. "alos would appricate
> >> direction on how to find exmples"
> >> getting the file name "without the extension" into a
> >> character vector.
> >> for (i in dir("c:/data/")){
> >>     filename <- c(filename,sub("([^.]+)(\\..+)","\\1",
> >> i))
> >> }
> >> Error: Object "filename" not found
> >> and I understand why the error but cann't find a way
> >> to fix it.
> >>
> >> thanks
> >>
> >> ______________________________________________
> >> R-help at stat.math.ethz.ch mailing list
> >> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> >> PLEASE do read the posting guide!
> >> http://www.R-project.org/posting-guide.html
> >
> >
> > You don't need a loop:
> >
> >  filename <- sub("([^.]+)(\\..+)", "\\1", dir("c:/data/"))
> >
> >
> > Uwe Ligges
> >
> >
> > PS: Just to get your loop working (you don't want to do it that way!):
> >
> >  filename <- NULL
> >  for (i in dir("c:/data/")){
> >      filename <- c(filename,sub("([^.]+)(\\..+)","\\1", i))
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> > http://www.R-project.org/posting-guide.html
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle




More information about the R-help mailing list