Is something like this what you're looking for? fixSome <- function(..., fixed) { fList <- list(...) for (i in fixed) fList[[i]] <- fList[[i]][1] do.call("expand.grid", fList) }
> age <- c("young","mid","old") > married <- c("no","yes") > income <- c("low","high","medium") > gender <- c("female","male") > > age.income.dat <- fixSome(age, married, income, gender, fixed=c(2, 4)) > age.income.dat Var1 Var2 Var3 Var4 1 young no low female 2 mid no low female 3 old no low female 4 young no high female 5 mid no high female 6 old no high female 7 young no medium female 8 mid no medium female 9 old no medium female Andy > From: Jan Sabee > > Dear R-user, > I have a data like this below, > > age <- c("young","mid","old") > married <- c("no","yes") > income <- c("low","high","medium") > gender <- c("female","male") > > I want to make some of combination data like these, > > age.income.dat <- expand.grid(age, married[-c(2)], income, > gender[-c(2)]) > age.income.dat > age.married.dat <- expand.grid(age, married, > income[-c(2:3)], gender[-c(2)]) > age.married.dat > married.gender.dat <- expand.grid(age[-c(2:3)], married, > income[-c(2:3)], gender) > married.gender.dat > married.income.gender.dat <- expand.grid(age[-c(2:3)], married, > income, gender) > married.income.gender.dat > age.income.gender.dat <- expand.grid(age, married[-c(2)], > income, gender) > age.income.gender.dat > > On these data the first cell in each variable are fixed (no change). > Because I only make some of variables what I need, How can I make > these with a simple functions. > > Best reagrds, > Jan Sabee > > ______________________________________________ > 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 > > > ______________________________________________ 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