I get tired of writing, e.g. data.frame[some.condition & another.condition, big.list.of.columns] <- paste(data.frame[some.condition & another.condition, big.list.of.columns], "foobar") I would a function like: inplace(paste(data.frame[some.condition & another.condition, big.list.of.columns], "foobar")) which would take the first argument of the inner function and assign the function's result to it. Has anyone done something like this? Are there simple alternative solutions that I'm missing? Cheers David
"David Hugh-Jones" <davidhughjones at gmail.com> writes:> I get tired of writing, e.g. > > > data.frame[some.condition & another.condition, big.list.of.columns] <- > paste(data.frame[some.condition & another.condition, > big.list.of.columns], "foobar") > > > I would a function like: > > inplace(paste(data.frame[some.condition & another.condition, > big.list.of.columns], "foobar")) > > which would take the first argument of the inner function and assign > the function's result to it. > > Has anyone done something like this? Are there simple alternative > solutions that I'm missing?Well, I'd consider cc <- some.condition & another.condition l <- big.list.of.columns mydf[cc,l] <- paste(mydf[cc,l], "foobar) -- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
I do not fully understand your question but how about : inplace <- function( df, cond1, cond2, cols, suffix ){ w <- which( cond1 & cond2 ) df <- df[ w, cols ] paste(df, suffix) return(df) } BTW, did you mean "colnames(df) <- paste(colnames(df), suffix)" instead of "paste(df, suffix)" ? Regards, Adai On Fri, 2006-06-16 at 10:23 +0100, David Hugh-Jones wrote:> I get tired of writing, e.g. > > > data.frame[some.condition & another.condition, big.list.of.columns] <- > paste(data.frame[some.condition & another.condition, > big.list.of.columns], "foobar") > > > I would a function like: > > inplace(paste(data.frame[some.condition & another.condition, > big.list.of.columns], "foobar")) > > which would take the first argument of the inner function and assign > the function's result to it. > > Has anyone done something like this? Are there simple alternative > solutions that I'm missing? > > Cheers > David > > ______________________________________________ > R-help at 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 >