Well, your code is, ah, too incorrect to convey what you want out of this 
effort. If I were to guess based on your description, you want all of the data, 
not a subset. An example data frame containing what you hope to extract might 
be helpful.

However, extracting subsets is rarely done for just one subset... usually you 
want to process the data in groups. Base functions such as ave, aggregate, or 
split work at a higher level than you seem to be thinking. Packages such as 
plyr and dplyr handle this breaking and recombining more succinctly, leaving 
you to think more about what you want to do with the pieces and less about 
making pieces.
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnew...@dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.

On June 29, 2015 5:03:38 PM PDT, Rich Shepard <rshep...@appl-ecosys.com> wrote:
>Moving from interactive use of R to scripts and functions and have
>bumped
>into what I believe is a problem with variable names. Did not see a
>solution
>in the two R programming books I have or from my Web searches.
>Inexperience
>with ess-tracebug keeps me from refining my bug tracking.
>
>   Here's a test data set (cleverly called 'testset.dput'):
>
>structure(list(stream = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
>1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 
>2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
>2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
>3L, 3L, 3L, 3L, 3L, 3L), .Label = c("B", "J", "S"), class = "factor"),
>     sampdate = structure(c(8121, 8121, 8121, 8155, 8155, 8155,
>     8185, 8185, 8185, 8205, 8205, 8205, 8236, 8236, 8236, 8257,
>     8257, 8257, 8308, 8785, 8785, 8785, 8785, 8785, 8785, 8785,
>     8847, 8847, 8847, 8847, 8847, 8847, 8847, 8875, 8875, 8875,
>     8875, 8875, 8875, 8875, 8121, 8121, 8121, 8155, 8155, 8155,
>     8185, 8185, 8185, 8205, 8205, 8205, 8236, 8236, 8236, 8257,
>8257, 8257, 8301, 8301, 8301), class = "Date"), param = structure(c(2L,
>     6L, 7L, 2L, 6L, 7L, 2L, 6L, 7L, 2L, 6L, 7L, 2L, 6L, 7L, 2L,
>     6L, 7L, 2L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 1L, 2L, 3L, 4L, 5L,
>     6L, 7L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 2L, 6L, 7L, 2L, 6L, 7L,
>     2L, 6L, 7L, 2L, 6L, 7L, 2L, 6L, 7L, 2L, 6L, 7L, 2L, 6L, 7L
>), .Label = c("Ca", "Cl", "K", "Mg", "Na", "SO4", "pH"), class =
>"factor"),
>     quant = c(4, 33, 8.43, 4, 32, 8.46, 4, 31, 8.43, 6, 33, 8.32,
>     5, 33, 8.5, 5, 32, 8.5, 5, 59.9, 3.46, 1.48, 29, 7.54, 64.6,
>     7.36, 46, 2.95, 1.34, 21.8, 5.76, 48.8, 7.72, 74.2, 5.36,
>     2.33, 38.4, 8.27, 141, 7.8, 3, 76, 6.64, 4, 74, 7.46, 2,
>     82, 7.58, 5, 106, 7.91, 3, 56, 7.83, 3, 51, 7.6, 6, 149,
>     7.73)), .Names = c("stream", "sampdate", "param", "quant"
>), row.names = c(NA, -61L), class = "data.frame")
>
>I want to subset that data.frame on each of the stream names: B, J, and
>S.
>This is the function that has the naming error (eda.R):
>
>extstream = function(alldf) {
>     sname = alldf$stream
>     sdate = alldf$sampdate
>     comp = alldf$param
>     value = alldf$quant
>     for (i in sname) {
>   sname <- subset(alldf, alldf$stream, select = c(sdate, comp, value))
>         return(sname)
>     }
>}
>
>   This is the result of running source('eda.R') followed by
>
>> extstream(testset)
>Error in subset.data.frame(alldf, alldf$stream, select = c(sdate, comp,
> :
>   'subset' must be logical
>
>   I've tried using sname for the rows to select, but that produces a
>different error of trying to select undefined columns.
>
>   A pointer to the correct syntax for subset() is needed.
>
>Rich
>
>______________________________________________
>R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide
>http://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to