[R] Numeric vector converted mysteriously to characters in data frame?
Jim Holtman
jholtman at gmail.com
Thu Mar 17 04:11:15 CET 2011
take a look at what the output of your cbind is; my guess is that it is a character matrix. you probably want to do
data.frame(...,...,...)
without the cbind.
Sent from my iPad
On Mar 16, 2011, at 18:12, Martin Ralphs <martin.ralphs at gmail.com> wrote:
> Dear R Help,
>
> I would be very grateful if somebody could explain why this is happening. I
> am trying to plot a lattice barchart of a vector of numbers with age
> bandings that I have brought together into a data frame. When I plot the
> variables in their raw vector form, it works. When I try to plot them in
> the df, R labels the numeric axis with default factor values and treats the
> numeric vector as character. Why is this? Apologies if this is blindingly
> obvious, I am new to R.
>
> Here is some sample code that demonstrates the problem:
>
> library(lattice)
>
> # Load in some sample data ...
> ageband <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
> agenames <-
> c("00-04","05-09","10-14","15-19","20-24","25-29","30-34","35-39",
> "40-44","45-49","50-54","55-59","60-64","65-69","70-74","75-79","80-84","85
> plus")
> popcount <-
> c(35274,40958,41574,47973,50384,51248,65748,54854,60948,66473,70854,
> 60475,61854,55848,45857,30584,25475,20574)
>
>
> region <- "North East"
> test1 <- as.data.frame(cbind(region,ageband,agenames,popcount))
> region <- "North West"
> test2 <- as.data.frame(cbind(region,ageband,agenames,popcount))
> test <- rbind(test1,test2)
> names(test) <- c("GOR","Band","AgeBand","Persons")
>
> # When I plot my numeric data from the df it is treated as character
> vector...
>
> hg1 <- barchart(AgeBand ~ Persons | GOR,
> data=test,
> origin=0,
> layout=c(2,1),
> reference=TRUE,
> xlab="Count (Persons)",
> ylab="Quinary Age Band",
> scales="free")
>
> hg1
>
> # But when I plot the source vectors in the same way, it works how I want it
> to... (without the region bit, of course)
> hg2 <- barchart(agenames ~ popcount | region,
> origin=0,
> layout=c(2,1),
> reference=TRUE,
> xlab="Count (Persons)",
> ylab="Quinary Age Band",
> scales="free")
> hg2
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> 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