>>>>> "KJ" == Keith Jewell <k.jew...@campden.co.uk> >>>>> on Tue, 22 Dec 2009 16:02:49 -0000 writes:
KJ> Hi All, KJ> This example code KJ> ---------------- KJ> dDF <- structure(list(y = c(4.75587, 4.8451, 5.04139, 4.85733, 5.20412, KJ> 5.92428, 5.69897, 4.78958, 4, 4), t = c(0, 48, 144, 192, 240, KJ> 312, 360, 0, 48, 144), Batch = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1 KJ> ), T = c(2, 2, 2, 2, 2, 2, 2, 2, 2, 2), pH = c(4.6, 4.6, 4.6, KJ> 4.6, 4.6, 4.6, 4.6, 4.6, 4.6, 4.6), S = c(0, 0, 0, 0, 0, 0, 0, KJ> 0, 0, 0), N = c(0, 0, 0, 0, 0, 0, 0, 80, 80, 80)), .Names = c("y", KJ> "t", "Batch", "T", "pH", "S", "N"), row.names = c(NA, 10L), class = KJ> "data.frame") KJ> str(dDF) KJ> expand.grid(dDF) KJ> ------------------------------------ KJ> 'hangs' for a while and then gives an error KJ> Error in `[[<-.data.frame`(`*tmp*`, i, value = c(4.75587, 4.8451, 5.04139, KJ> : KJ> replacement has 10000000 rows, data has 10 KJ> In NEWS.R-2.11.0dev I read: KJ> o The new (in 2.9.0) 'stringsAsFactors' argument to expand.grid() KJ> was not working: it now does work but has default TRUE for KJ> backwards compatibility. KJ> but I don't think that's relevant, I have no factors. KJ> I'm probably being silly. yes, probably ;-) At least you are using expand.grid() in an unusual way. [What are you trying to use expand.grid() for ?] E.g., (dataframe) variable 'S' has only values '0'. One thing which works and may be close to what you want is the following: dU <- lapply(dDF, unique) r <- expand.grid(dU) Here's the illustration about it : > str(dDF) 'data.frame': 10 obs. of 7 variables: $ y : num 4.76 4.85 5.04 4.86 5.2 ... $ t : num 0 48 144 192 240 312 360 0 48 144 $ Batch: num 1 1 1 1 1 1 1 1 1 1 $ T : num 2 2 2 2 2 2 2 2 2 2 $ pH : num 4.6 4.6 4.6 4.6 4.6 4.6 4.6 4.6 4.6 4.6 $ S : num 0 0 0 0 0 0 0 0 0 0 $ N : num 0 0 0 0 0 0 0 80 80 80 > > str(dU <- lapply(dDF, unique)) List of 7 $ y : num [1:9] 4.76 4.85 5.04 4.86 5.2 ... $ t : num [1:7] 0 48 144 192 240 312 360 $ Batch: num 1 $ T : num 2 $ pH : num 4.6 $ S : num 0 $ N : num [1:2] 0 80 > r <- expand.grid(dU) > str(r) 'data.frame': 126 obs. of 7 variables: $ y : num 4.76 4.85 5.04 4.86 5.2 ... $ t : num 0 0 0 0 0 0 0 0 0 48 ... $ Batch: num 1 1 1 1 1 1 1 1 1 1 ... $ T : num 2 2 2 2 2 2 2 2 2 2 ... $ pH : num 4.6 4.6 4.6 4.6 4.6 4.6 4.6 4.6 4.6 4.6 ... $ S : num 0 0 0 0 0 0 0 0 0 0 ... $ N : num 0 0 0 0 0 0 0 0 0 0 ... - attr(*, "out.attrs")=List of 2 ..$ dim : Named int 9 7 1 1 1 1 2 .. ..- attr(*, "names")= chr "y" "t" "Batch" "T" ... ..$ dimnames:List of 7 .. ..$ y : chr "y=4.75587" "y=4.84510" "y=5.04139" "y=4.85733" ... .. ..$ t : chr "t= 0" "t= 48" "t=144" "t=192" ... .. ..$ Batch: chr "Batch=1" .. ..$ T : chr "T=2" .. ..$ pH : chr "pH=4.6" .. ..$ S : chr "S=0" .. ..$ N : chr "N= 0" "N=80" > --- may be that helps? Regards, Martin Maechler, ETH Zurich ______________________________________________ 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.