Here's a simpler example of what happened:
> cbind(letters[1:2], c(1,3)) [,1] [,2] [1,] "a" "1" [2,] "b" "3" > x <- as.data.frame(cbind(letters[1:2], c(1,3))) > x V1 V2 1 a 1 2 b 3 > as.numeric(x[,2]) [1] 1 2 > as.numeric(as.character(x[,2])) [1] 1 3 >
With the data frame as you constructed it, you need an expression like round(as.numeric(as.character(Np.occup97.98[,2])), 2) to accomplish what you want. It would probably be better to construct a more felicitous data frame in the first place:
> df <- data.frame(site = levels(sums$site), Np.occup97.98 = sums$Ant.Nptrad97.98/Ant.trad$Ant.trad97.98)
(unless of course you had some unstated reason for constructing the data frame the way you did)
-- Tony Plate
At Thursday 10:03 AM 7/31/2003 +0200, Tord Snall wrote:
Dear all,
I have divided two vectors:
Np.occup97.98<- as.data.frame(cbind(site = levels(sums$site), Np.occup97.98 = sums$Ant.Nptrad97.98/Ant.trad$Ant.trad97.98))
> Np.occup97.98 site Np.occup97.98 1 erken97 0.342592592592593 2 erken98 0.333333333333333 3 rormyran 0.48471615720524 4 valkror 0.286026200873362
However, at a later stage of the analysis I want > round(Np.occup97.98[,2], 2) Error in Math.factor(x, digits) : "round" not meaningful for factors
neither did this work:
> round(Np.occup97.98[,2], 2) Error in Math.factor(x, digits) : "round" not meaningful for factors
or this:
> round(as.numeric(Np.occup97.98[,2]), 2) [1] 3 2 4 1 >
because, as clearly written in the help file: "as.numeric for factors yields the codes underlying the factor levels, not the numeric representation of the labels."
I've discovered this solution:
> Np.occup97.98<- as.data.frame(cbind(site = levels(sums$site), + Np.occup97.98 = round(sums$Ant.Nptrad97.98/Ant.trad$Ant.trad97.98,2))) > > Np.occup97.98 site Np.occup97.98 1 erken97 0.34 2 erken98 0.33 3 rormyran 0.48 4 valkror 0.29
However, I would like to do this rounding later.
Could someone give a tip. I think that I would have been helped by a sentence in help(as.numeric).
Thanks in advance.
Sincerely, Tord
----------------------------------------------------------------------- Tord Snäll Avd. f växtekologi, Evolutionsbiologiskt centrum, Uppsala universitet Dept. of Plant Ecology, Evolutionary Biology Centre, Uppsala University Villavägen 14 SE-752 36 Uppsala, Sweden Tel: 018-471 28 82 (int +46 18 471 28 82) (work) Tel: 018-25 71 33 (int +46 18 25 71 33) (home) Fax: 018-55 34 19 (int +46 18 55 34 19) (work) E-mail: [EMAIL PROTECTED] Check this: http://www.vaxtbio.uu.se/resfold/snall.htm!
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help