Duncan, How embarrassing! Thanks.
-Ben On 06/26/2014 10:25 PM, Duncan Murdoch wrote: > On 27/06/2014, 4:08 AM, Benjamin Tyner wrote: >> Hi >> >> I know that subset() is not intended for use in programming. However I >> am still curious to learn why, in non-interactive mode, if I take away >> the quotes around 'bar' >> >> Rscript -e "foo <- list(bar = iris); head(subset(foo$'bar', >> Species=='setosa'))" >> Sepal.Length Sepal.Width Petal.Length Petal.Width Species >> 1 5.1 3.5 1.4 0.2 setosa >> 2 4.9 3.0 1.4 0.2 setosa >> 3 4.7 3.2 1.3 0.2 setosa >> 4 4.6 3.1 1.5 0.2 setosa >> 5 5.0 3.6 1.4 0.2 setosa >> 6 5.4 3.9 1.7 0.4 setosa >> >> then it results in an error: >> >> Rscript -e "foo <- list(bar = iris); head(subset(foo$bar, >> Species=='setosa'))" >> Error in subset.default(foo, Species == "setosa") : >> object 'Species' not found >> Calls: head -> subset -> subset.default >> Execution halted >> >> and also why this does not occur in interactive mode? My sessionInfo() is >> >> R Under development (unstable) (2014-06-26 r66043) >> Platform: x86_64-unknown-linux-gnu (64-bit) >> >> locale: >> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C >> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 >> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 >> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C >> [9] LC_ADDRESS=C LC_TELEPHONE=C >> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C >> >> attached base packages: >> [1] stats graphics grDevices utils datasets methods base >> > Try replacing "Rscript -e" with "echo" to see what your shell is really > sending as a command to execute. I suspect it is treating $bar as a > shell variable (see the error message, it has disappeared). > -- <i> </i>
______________________________________________ R-help@r-project.org mailing list 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.