Dear all,
I want to derive from a data set that I have a set of 9 interpolation functions using approxfun() and store
them in an R object. The data has some structure that I would like to reflect in the storage, so ideally I would store them in a data.frame. So far I failed.
Here is what I tried:
# My actual data has similar structure:
x <- 1:9 y <- matrix(c(x*2, x*3, x*4), nr=3, nc=9) f.df <- list() cases <- c("case0", "case1", "case2") for (i in 1:3) {f.df[[cases[i]]] <- y*i}
# Prepare storage place
funcs <- data.frame(NA, NA, NA) names(funcs) <- cases
# Try to store interpolation functions
for (c in cases) {
+ for (i in 1:3) { + funcs[i,c] <- approxfun(x, f.df[[c]][i,]) + } + } Error in "[<-"(`*tmp*`, iseq, value = vjj) : incompatible types
# Failed to change the mode of a column:
mode(f.df[["case0"]]) <- "function"
Error in as.function.default(x, envir) : list argument expected
My attempts to initialize a data.frame into "function" mode using, as.function(), led to more failures.
Is it possible to do? and how?
Thank you for any suggestions or comments. Itay
-------------------------------------------------------------- [EMAIL PROTECTED] Fred Hutchinson Cancer Research Center
You cannot store a function that way. You might want to make "func" a list of lists as in:
# Prepare storage place
funcs <- vector(mode = "list", length = 3) names(funcs) <- cases
# Try to store interpolation functions
for (c in cases) {
funcs[[c]] <- vector(mode = "list", length = 3)
for (i in 1:3) {
funcs[[c]][[i]] <- approxfun(x, f.df[[c]][i,])
}
}Uwe Ligges
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
