[R] basic dataframe question

Aval Sarri aval.sarri at gmail.com
Wed Sep 3 08:10:47 CEST 2008


Does  ?I() help?
See
? I()

Regards
Aval



On Wed, Sep 3, 2008 at 9:30 AM,  <Matthew.Findley at ch2m.com> wrote:
> R Users:
>
> I'm wondering:
>
>  Why does my logical vector becomes a numeric vector when stuffed into a data frame?  How do I change this so that it's retained as a logical data type?  I've tried a couple of things but to no avail.
>
> Here's my example code:
>
> # Exercise 4-1 in Non-Detects and Data Analysis. Dennis Helsel.  2005.
>
> # "Create two new variables in the Interval Endpoints format, StartCu and EndCu,
> # that will contain the same information given by the current variables
>
> library(NADA)
> data(CuZn)
> names(CuZn)
>
> StartCu <- ifelse(CuZn$CuCen == "TRUE", 0, CuZn$Cu)
> EndCu <- CuZn$Cu
>
> CuIEP = data.frame(cbind(Cu = CuZn$Cu, CuCen = CuZn$CuCen, StartCu, EndCu))
>
> class(CuZn$CuCen)
> #returns "logical"
> class(CuIEP$CuCen)
> #returns "numeric"
>
> CuIEP2 = data.frame(cbind(Cu = CuZn$Cu, CuCen = as.logical(CuZn$CuCen), StartCu, EndCu))
> class(CuIEP2$CuCen)
> #returns "numeric"
>
> CuIEP3 = data.frame(cbind(Cu = CuZn$Cu, CuCen = I(CuZn$CuCen), StartCu, EndCu))
> class(CuIEP3$CuCen)
> #returns "numeric"
>
> I think that I might be missing something fairly fundamental about data coercion in R.   ... would love to figure this out.
>
> Any assistance would be appreciated.
>
> Thanks much,
>
> Matt Findley
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list