Hi All, Sorry if I ask an obvious thing, I am still new to R ...
I created a data frame of given dimensions to which I gave strings as column names. I want to write to elements of the data frame by indexing them with the row number and column name (string). The problem is that I can read elements from the data frame in this way, but I cannot assign to elements in this way. Instead, I get the following error message: Error in Summary.factor(..., na.rm = na.rm) : min not meaningful for factors Please find the code I used farther below. It would be great if someone could help me. Best regards, Michael PS: Coincidentally, I found this same error message mentioned in another context (levelplot) as indicating a bug (original bug report PR# 6005 on Mon, 22 Dec 2003) ------------------------ Michael Drescher Ontario Forest Research Institute Ontario Ministry of Natural Resources 1235 Queen St East Sault Ste Marie, ON, P6A 2E3 Tel: (705) 946-7406 Fax: (705) 946-2030 ------------------------ Code: > sfalls.plot.comp <- matrix(nrow=plot.count, ncol=spec.count, byrow=T) > colnames(sfalls.plot.comp) <- levels(SPECIES) ### SPECIES, SPP_VOL, & PLOT are columns/variables in a previously read data file > sfalls.plot.comp <- data.frame(sfalls.plot.comp) > attach(sfalls.plot.comp) > sfalls.plot.comp[is.na(sfalls.plot.comp)] <- 0 > sfalls.plot.comp Bf Bw Pj Po Sb 1 0 0 0 0 0 2 0 0 0 0 0 > hh <- 1 > current.spec <- SPECIES[hh]; current.vol <- SPP_VOL[hh]; current.plot <- PLOT[hh] > current.spec [1] Bf Levels: Bf Bw Pj Po Sb > current.vol [1] 2 > current.plot [1] 1 > sfalls.plot.comp[current.plot,current.spec] ### thus, reading from the data frame in this way (using the column name/string) works fine [1] 0 > sfalls.plot.comp[current.plot,current.spec] <- current.vol ### but assigning in this way does not work Error in Summary.factor(..., na.rm = na.rm) : min not meaningful for factors > sfalls.plot.comp[current.plot,1] <- current.vol ### assigning by using the column number instead of the column name of course does work > sfalls.plot.comp[current.plot,current.spec] [1] 2 > sfalls.plot.comp[current.plot,"Bw"] <- current.vol ### as does assigning when replacing 'current.spec' for its assigned value in quotes, e.g., "Bw" > sfalls.plot.comp[current.plot,"Bw"] [1] 2 > sfalls.plot.comp Bf Bw Pj Po Sb 1 2 2 0 0 0 2 0 0 0 0 0 ______________________________________________ R-help@stat.math.ethz.ch 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.