[R] Why is my data always imported as a list?
David Winsemius
dwinsemius at comcast.net
Mon Jun 11 18:42:07 CEST 2012
On Jun 11, 2012, at 12:29 PM, Samantha Sifleet wrote:
> Hi,
>
> I am a relatively new to R. So, this is probably a really basic
> issue that
> I keep hitting.
>
> I read my data into R using the read.csv command:
>
> x = rep("numeric", 3)
> CB_un=read.csv("Corn_Belt_unirr.csv", header=TRUE,
> colClasses=c("factor",
> x))
>
> # I have clearly told R that I have one factor variable and 3 numeric
> variables in this table.
> #but if I try to do anything with them, I get an error
>
> boxplot(CB_un["Value"]~CB_un["State.Fips"])
>
> Error in model.frame.default(formula = CB_un["Value"] ~
> CB_un["State.Fips"]) :
> invalid type (list) for variable 'CB_un["Value"]'
If you were steadfastly intent on using direct extraction in the
formula, then this would be the way to do so:
boxplot(CB_un[["Value"]]~CB_un[["State.Fips"]])
Beter would be to use the formula interface the way it was designed to
operate:
boxplot( Value ~ State.Fips, data=CB_un)
--
David.
>
> # Because these variables are all stored as lists.
> #So, I have to unpack them.
>
> CB_unirr_rent<-as.numeric(unlist(CB_un["Value"]))
> CB_unirr_State<-as.factor(unlist(CB_un["State.Fips"]))
>
> #before I can do anything with them
>
> boxplot(CB_unirr_rent~CB_unirr_State)
>
> Is there a reason my data is always imported as lists?
It's in a dataframe ..... dataframes are lists
> Is there a way to
> skip this upacking step?
>
> Thanks,
>
> Sam
> [[alternative HTML version deleted]]
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list