Hosack, Michael
2010-Mar-25 20:21 UTC
[R] Creating dataframe of all possible variable combinations
Hello, I need to create a dataframe containing all possible combinations of three variables: SITE (101,102,103,104), WDAY (MON,TUE,WED,THR,FRI), and TOD (MORN, AFTN). There should be a total of 40 unique combinations in my dataframe. I used expand.grid() successfully(?) to create my dataframe, but then when I went to order it by SITE, the resultant dataframe only contained four rows, one for each site. There must be something about this function that I don't understand. Any advice would be appreciated. Thank you, Mike
Hosack, Michael
2010-Mar-25 20:22 UTC
[R] Creating dataframe of all possible variable combinations
Hello, I need to create a dataframe containing all possible combinations of three variables: SITE (101,102,103,104), WDAY (MON,TUE,WED,THR,FRI), and TOD (MORN, AFTN). There should be a total of 40 unique combinations in my dataframe. I used expand.grid() successfully(?) to create my dataframe, but then when I went to order it by SITE, the resultant dataframe only contained four rows, one for each site. There must be something about this function that I don't understand. Any advice would be appreciated. Thank you, Mike
Jorge Ivan Velez
2010-Mar-25 20:25 UTC
[R] Creating dataframe of all possible variable combinations
Hi Mike, Try this: SITE <- c(101,102,103,104) WDAY <- c('MON','TUE','WED','THR','FRI') TOD <- c('MORN', 'AFTN') out <- expand.grid(SITE, WDAY, TOD) out HTH, Jorge On Thu, Mar 25, 2010 at 4:21 PM, Hosack, Michael <> wrote:> Hello, > > I need to create a dataframe containing all possible combinations of three > variables: SITE (101,102,103,104), WDAY (MON,TUE,WED,THR,FRI), and TOD > (MORN, AFTN). There should be a total of 40 unique combinations in my > dataframe. I used expand.grid() successfully(?) to create my dataframe, but > then when I went to order it by SITE, the resultant dataframe only contained > four rows, one for each site. There must be something about this function > that I don't understand. Any advice would be appreciated. > > Thank you, > > Mike > > ______________________________________________ > 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. >[[alternative HTML version deleted]]
Stephan Kolassa
2010-Mar-25 20:37 UTC
[R] Creating dataframe of all possible variable combinations
Hi Mike, the following works for me: SITE <- ordered(c(101,102,103,104)) WDAY <- ordered(c("MON","TUE","WED","THR","FRI"),levels=c("MON","TUE","WED","THR","FRI")) TOD <- ordered(c("MORN","AFTN"),levels=c("MORN","AFTN")) foo <- expand.grid(SITE=SITE,WDAY=WDAY,TOD=TOD) foo[order(foo$SITE),] If this doesn't solve your problem, perhaps you could give us a minimal code snippet that demonstrates what exactly you are doing without getting what you are looking for? Bye, Stephan Hosack, Michael schrieb:> Hello, > > I need to create a dataframe containing all possible combinations of > three variables: SITE (101,102,103,104), WDAY (MON,TUE,WED,THR,FRI), > and TOD (MORN, AFTN). There should be a total of 40 unique > combinations in my dataframe. I used expand.grid() successfully(?) to > create my dataframe, but then when I went to order it by SITE, the > resultant dataframe only contained four rows, one for each site. > There must be something about this function that I don't understand. > Any advice would be appreciated. > > Thank you, > > Mike > > ______________________________________________ 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. >
Erik Iverson
2010-Mar-25 21:15 UTC
[R] Creating dataframe of all possible variable combinations
Hello, Hosack, Michael wrote:> Hello, > > I need to create a dataframe containing all possible combinations of > three variables: SITE (101,102,103,104), WDAY (MON,TUE,WED,THR,FRI), > and TOD (MORN, AFTN). There should be a total of 40 unique > combinations in my dataframe. I used expand.grid() successfully(?) to > create my dataframe, but then when I went to order it by SITE, the > resultant dataframe only contained four rows, one for each site. > There must be something about this function that I don't understand. > Any advice would be appreciated.I don't know what you see, since you don't provide reproducible code. I cannot reproduce what you saw. tmp <- expand.grid(site = c(101,102,103,104), wday = c("MON","TUE","WED","THR","FRI"), tod = c ("MORN", "AFTN")) tmp[order(tmp$site),]