Jiří Voller
2007-Nov-25 13:18 UTC
[R] Constructin a call of function including permutation of column names - how to escape parentheses?
Dear R-users,
I would like to construct a list of arguments for a function in a format
function (list(item1=c("A","B"),
item2=c("B","C")), item3=...):
The individual vectors in the list are permutations of colnames of a
dataframe.
The trouble is that I am not able to handle escaping of parentheses
correctly.
I was trying the following:
library(gregmisc)
combinations.2<-combinations(12,2,mycolnames)
combinations.2.call<-apply(combinations.2,1,function(x){do.call(paste,c(
as.list(x),sep="\",\""))})
combinations.2.call<-paste("c(\"",combinations.2.call,"\")",sep="")
but now calling call("list",combinations.2.list) doesnt work.
Could anyone give an advice on this? Thank you.
----------------------------------------------------------------------------------------------
Jiøí Voller
Laboratory of Growth Regulators
Palacký University & Institute of Experimental Botany AS CR
©lechtitelù 11, 783 71 Olomouc
Czech Republic
landline: +420-585-634-855
mobile: +420-737-520-506
fax: +420-585-634-870
----------------------------------------------------------------------------------------------
[[alternative HTML version deleted]]
Tae-kyun Kim
2007-Nov-25 20:07 UTC
[R] Constructin a call of function including permutation of column names - how to escape parentheses?
Hi, I guess this may be a way to construct a list of character vectors from variable names.> library(gregmisc) > mycolnames <- LETTERS[1:12] > combinations.2<-combinations(12,2,mycolnames) > arg.list <- as.list(as.data.frame(t(combinations.2), stringsAsFactors=FALSE)) > names(arg.list) <- paste("item", seq_len(length(arg.list)), sep="") > head(arg.list)$item1 [1] "A" "B" $item2 [1] "A" "C" $item3 [1] "A" "D" $item4 [1] "A" "E" $item5 [1] "A" "F" $item6 [1] "A" "G" On Nov 25, 2007 5:18 AM, Ji?? Voller <jirivoller at gmail.com> wrote:> Dear R-users, > I would like to construct a list of arguments for a function in a format > function (list(item1=c("A","B"), item2=c("B","C")), item3=...): > The individual vectors in the list are permutations of colnames of a > dataframe. > The trouble is that I am not able to handle escaping of parentheses > correctly. > > I was trying the following: > library(gregmisc) > combinations.2<-combinations(12,2,mycolnames) > combinations.2.call<-apply(combinations.2,1,function(x){do.call(paste,c( > as.list(x),sep="\",\""))}) > combinations.2.call<-paste("c(\"",combinations.2.call,"\")",sep="") > > but now calling call("list",combinations.2.list) doesnt work. > > > Could anyone give an advice on this? Thank you. > > ---------------------------------------------------------------------------------------------- > Ji?? Voller > Laboratory of Growth Regulators > Palack? University & Institute of Experimental Botany AS CR > (c)lechtitel? 11, 783 71 Olomouc > Czech Republic > landline: +420-585-634-855 > mobile: +420-737-520-506 > fax: +420-585-634-870 > ---------------------------------------------------------------------------------------------- > > [[alternative HTML version deleted]] > > > ______________________________________________ > R-help at 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. > >-- =====================================T.K. (Tae-kyun) Kim Ph.D. student Department of Marketing Marshall School of Business University of Southern California ======================================