Chapeau Ista :-) On Tue, Aug 13, 2019 at 4:22 PM Ista Zahn <istaz...@gmail.com> wrote:
> How about > > > library(tidyr) > > separate_rows(d, Col2) > Col1 Col2 > 1 Agency A Function1 > 2 Agency A Function2 > 3 Agency A Function3 > 4 Agency A Function4 > 5 Agency B Function2 > 6 Agency B Function4 > 7 Agency C Function1 > 8 Agency C Function3 > 9 Agency C Function4 > > > On Mon, Aug 12, 2019 at 11:06 PM <reichm...@sbcglobal.net> wrote: > > > > William > > > > > > > > Yes that works a little better as I don’t have to create notional > variables. Thank you > > > > > > > > Jeff > > > > > > > > From: William Dunlap <wdun...@tibco.com> > > Sent: Monday, August 12, 2019 6:46 PM > > To: Jeff Reichman <reichm...@sbcglobal.net> > > Cc: r-help@r-project.org > > Subject: Re: [R] separate and gather functions > > > > > > > > This one uses only core R functions. Does that count toward "elegance"? > > > > > > > > > # your data, I assume, in a form one can copy and paste into R > > > > > d <- data.frame(stringsAsFactors = FALSE, > > Col1 = c("Agency A", "Agency B", "Agency C"), > > Col2 = c("Function1, Function2, Function3, Function4", > > "Function2, Function4", "Function1, Function3, Function4")) > > > > > # split Col2 by comma following by any number of spaces > > > > > tmp <- strsplit(d$Col2, split=", *") > > > data.frame(Col1 = rep(d$Col1, lengths(tmp)), Col2 = unlist(tmp), > stringsAsFactors=FALSE) > > Col1 Col2 > > 1 Agency A Function1 > > 2 Agency A Function2 > > 3 Agency A Function3 > > 4 Agency A Function4 > > 5 Agency B Function2 > > 6 Agency B Function4 > > 7 Agency C Function1 > > 8 Agency C Function3 > > 9 Agency C Function4 > > > > > > > > Bill Dunlap > > TIBCO Software > > wdunlap tibco.com <http://tibco.com> > > > > > > > > > > > > On Mon, Aug 12, 2019 at 4:23 PM <reichm...@sbcglobal.net <mailto: > reichm...@sbcglobal.net> > wrote: > > > > R-Help Forum > > > > > > > > I have a data set from which I have extracted two columns Column 1 is a > > listing of Federal agencies and Column 2 lists functions like this > > > > > > > > Col1 Col2 > > > > Agency A Function1, Function2, Function3, Function4 > > > > Agency B Function2, Function4 > > > > Agency C Function1, Function3, Function4 > > > > > > > > What I need is a long list like this > > > > > > > > Col1 Col2 > > > > Agency A Function1 > > > > Agency A Function2 > > > > Agency 4 Function3 etc > > > > > > > > Is there a more elegant /efficient way other than what I did which was to > > separate Col2 into separate columns and then gather the data back up > > > > > > > > myDat3 <- separate(data= myDat2, col = type, into = c("x1", "x2", "x3", > > "x4", "x5"), sep = ",") > > > > myDat4 <- gather(data=myDat3, key="type", value = "Value", > > "x1","x2","x3","x4","x5", na.rm = TRUE) > > > > > > > > while it works, looking for a more elegant solution, if there is one > > > > > > > > Jeff > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org <mailto:R-help@r-project.org> mailing list -- To > UNSUBSCRIBE and more, see > > 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]] > > > > ______________________________________________ > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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. > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.