>>>>> "GS" == Gavin Simpson <[EMAIL PROTECTED]> >>>>> on Tue, 29 Jan 2008 00:09:05 +0000 writes:
GS> hits=-2.6 tests=BAYES_00 GS> X-USF-Spam-Flag: NO GS> On Mon, 2008-01-28 at 12:17 -0700, Michelle DePrenger-Levin wrote: >> I was asked for the following information and hope it might help those who >> could answer my question... GS> That looks fine to me Michelle. GS> You will have problems with as.matrix on this though as a matrix in R GS> has to contain *all* elements of the same kind, text or numeric. As $X GS> is a factor, the matrix ends up as a character matrix, as this example GS> shows: GS> my.dat <- data.frame(X = gl(4,5), Vegetative = runif(20), Dormant = GS> runif(20)) GS> str(my.dat) GS> as.matrix(my.dat) [...............] GS> You could convert the factor column to its numeric representation and GS> then you can produce a matrix that is numeric GS> my.dat$X <- as.numeric(my.dat$X) GS> str(my.dat) GS> as.matrix(my.dat) That's exactly what the --- seemlingy much underused --- function data.matrix() is for ! my.dat <- data.frame(X = gl(4,5), Veg = runif(20), Dorm = runif(20)) my.mat <- data.matrix(my.dat) str(my.mat) # all numeric In short: Use data.matrix(d), not as.matrix(d) if d potentially is a data frame !! Regards, Martin GS> *But* you should read the help for popbio to see what you are required GS> to provide as what I show is only a workaround for the matrix issue - I GS> have no idea what a projection matrix is in the sense of popbio or how GS> to use the functions in that package. GS> HTH GS> G >> >> >> >> To import the table I used: >> >> AsMi05test=read.csv("C:/AsMi_Site05_1998.csv") >> >> >> >> > str(AsMi05test) >> >> `data.frame': 12 obs. of 8 variables: >> >> $ X : Factor w/ 6 levels "Dead","Dormant",..: 5 6 3 >> 4 2 1 5 6 3 4 ... >> >> $ Vegetative : num 0.25 0.50 0.17 0.08 0.00 ... >> >> $ Vegetative.with.Herbivory : num 0.13 0.5 0.33 0.67 0 0 0.41 0.5 0 0 ... >> >> $ Reproductive : num 0 0 0 0 0 0 0 0 0 0 ... >> >> $ Reproductive.with.Herbivory: num 0 0 0 0 0 ... >> >> $ Dormant : num 0.08 0 0.33 0.08 1 0 0.06 0 0 0 ... >> >> $ Dead : num 0.42 0.00 0.33 0.17 0.00 ... >> >> $ End.Date : int 1998 1998 1998 1998 1998 1998 1999 1999 >> 1999 1999 ... >> >> >> >> >> >> ________________________________ >> >> From: Michelle DePrenger-Levin >> Sent: Monday, January 28, 2008 11:35 AM >> To: 'r-help@r-project.org' >> Subject: matrix creation >> >> >> >> Hello, >> >> >> >> I am trying to create multiple matrices (to run a PVA) but can't import all >> of them from a .csv without the numbers treated as labels and not factors. >> >> >> >> I can enter the matrix slowly: >> >> Site05_96 <- matrix(c(0.07,0,0.03,0.00,NA,0.00, >> 0.09,0.166666667,0.31,0.42,NA,0.00, 0.00,0,0.00,0.00,NA,0.00, >> >> 0.00,0,0.00,0.00,NA,0.00, >> 0.26,0.166666667,0.19,0.00,NA,0.00, 0.58,0.666666667,0.47,0.58,0,0.00), >> >> nrow = 6, ncol = 6, >> >> dimnames = list(c("Vegetative", "Vegetative with herbivory", >> "Reproductive", >> >> "Reproductive with herbivory", "Dormant", "Dead"), >> c("Vegetative", "Vegetative with herbivory", "Reproductive", >> >> "Reproductive with herbivory", "Dormant", "Dead"))) >> >> >> >> I would like to list all matrices (for all 12 years and all 4 sites) in one >> Excel sheet (.csv) and then read each matrix as chucks of 6 rows. However, >> when I try this I either get all the values (the %) in quotes (not as >> factors) and if I try to force them with as.factor, it no longer seems to be >> a matrix. >> >> >> >> AsMi0598test2 <- as.matrix(AsMi05test[1:6,1:6]) >> >> X Vegetative Vegetative.with.Herbivory >> Reproductive Reproductive.with.Herbivory Dormant >> >> 1 "Vegetative" "0.25" "0.13" "0" >> "0" "0.08" >> >> 2 "Vegetative with Herbivory" "0.50" "0.50" "0" >> "0" "0.00" >> >> 3 "Reproductive" "0.17" "0.33" "0" >> "0" "0.33" >> >> 4 "Reproductive with Herbivory" "0.08" "0.67" "0" >> "0" "0.08" >> >> 5 "Dormant" "0.00" "0.00" "0" >> "0" "1.00" >> >> 6 "Dead" "0.00" "0.00" "0" >> "0" "0.00" >> >> >> >> When I add AsMi0598test2 <- as.factor(as.matrix(AsMi05test[1:6,1:6])) I get >> this: >> >> [1] Vegetative Vegetative with Herbivory Reproductive >> Reproductive with Herbivory >> >> [5] Dormant Dead 0.25 >> 0.50 >> >> [9] 0.17 0.08 0.00 >> 0.00 >> >> [13] 0.13 0.50 0.33 >> 0.67 >> >> [17] 0.00 0.00 0 >> 0 >> >> [21] 0 0 0 >> 0 >> >> [25] 0 0 0 >> 0 >> >> [29] 0 0 0.08 >> 0.00 >> >> [33] 0.33 0.08 1.00 >> 0.00 >> >> 16 Levels: 0 0.00 0.08 0.13 0.17 0.25 0.33 0.50 0.67 1.00 Dead Dormant >> Reproductive ... Vegetative with Herbivory >> >> >> >> I want to read all matrices into stoch.projection( ) {popbio} >> >> >> >> Thanks for any suggestions. I could enter them all in the .txt document if I >> can't read them from the Excel sheet. >> >> >> >> Michelle DePrenger-Levin ______________________________________________ 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.