I have this type of format:
structure(list(day = 19, C1 = structure(1L, .Label = c("",
"C1"
), class = "factor"), C2 = structure(2L, .Label = c("",
"C2"), class "factor"),
C3 = structure(1L, .Label = c("", "C3"), class =
"factor"),
Q1 = structure(2L, .Label = c("", "Q1"), class =
"factor"),
Q2 = structure(2L, .Label = c("", "Q2"), class =
"factor"),
Q3 = structure(1L, .Label = c("", "Q3"), class =
"factor")), .Names c("day",
"C1", "C2", "C3", "Q1", "Q2",
"Q3"), row.names = "8", class =
"data.frame")>
and want something like this:
19 -C2 _Q1_Q2
any ideas? obviously I could use paste() and get this. Keep in mind I have
many of these and the presence of "C1", "C2", ... etc will
vary.
Thanks.
--
View this message in context:
http://r.789695.n4.nabble.com/pasting-several-things-tp4439770p4439770.html
Sent from the R help mailing list archive at Nabble.com.
Try this:
x <- structure(list(day = 19, C1 = structure(1L, .Label = c("",
"C1"
), class = "factor"), C2 = structure(2L, .Label = c("",
"C2"), class "factor"),
C3 = structure(1L, .Label = c("", "C3"), class =
"factor"),
Q1 = structure(2L, .Label = c("", "Q1"), class =
"factor"),
Q2 = structure(2L, .Label = c("", "Q2"), class =
"factor"),
Q3 = structure(1L, .Label = c("", "Q3"), class =
"factor")), .Names c("day",
"C1", "C2", "C3", "Q1", "Q2",
"Q3"), row.names = "8", class = "data.frame")
paste(x[1, 1], do.call(paste, c(x[1, x != ""][, -1],
list(sep="_"))), sep=" -")
# Output looks like this> paste(x[1, 1], do.call(paste, c(x[1, x != ""][, -1],
list(sep="_"))), sep=" -")
[1] "19 -C2_Q1_Q2"> x[1, 2] <- "C1"
> paste(x[1, 1], do.call(paste, c(x[1, x != ""][, -1],
list(sep="_"))), sep=" -")
[1] "19 -C1_C2_Q1_Q2"
HTH,
Garrett
On Fri, Mar 2, 2012 at 2:39 PM, chuck.01 <CharlieTheBrown77 at gmail.com>
wrote:> I have this type of format:
>
> structure(list(day = 19, C1 = structure(1L, .Label = c("",
"C1"
> ), class = "factor"), C2 = structure(2L, .Label = c("",
"C2"), class > "factor"),
> ? ?C3 = structure(1L, .Label = c("", "C3"), class =
"factor"),
> ? ?Q1 = structure(2L, .Label = c("", "Q1"), class =
"factor"),
> ? ?Q2 = structure(2L, .Label = c("", "Q2"), class =
"factor"),
> ? ?Q3 = structure(1L, .Label = c("", "Q3"), class =
"factor")), .Names > c("day",
> "C1", "C2", "C3", "Q1",
"Q2", "Q3"), row.names = "8", class =
"data.frame")
>>
>
> and want something like this:
>
> ?19 -C2 _Q1_Q2
>
> any ideas? ?obviously I could use paste() and get this. ?Keep in mind I
have
> many of these and the presence of "C1", "C2", ... etc
will vary.
>
>
> Thanks.
>
> --
> View this message in context:
http://r.789695.n4.nabble.com/pasting-several-things-tp4439770p4439770.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
Hi Garrett, That works great, thank you! gsee wrote> > Try this: > > x <- structure(list(day = 19, C1 = structure(1L, .Label = c("", "C1" > ), class = "factor"), C2 = structure(2L, .Label = c("", "C2"), class > "factor"), > C3 = structure(1L, .Label = c("", "C3"), class = "factor"), > Q1 = structure(2L, .Label = c("", "Q1"), class = "factor"), > Q2 = structure(2L, .Label = c("", "Q2"), class = "factor"), > Q3 = structure(1L, .Label = c("", "Q3"), class = "factor")), .Names > c("day", > "C1", "C2", "C3", "Q1", "Q2", "Q3"), row.names = "8", class > "data.frame") > > paste(x[1, 1], do.call(paste, c(x[1, x != ""][, -1], list(sep="_"))), > sep=" -") > > # Output looks like this >> paste(x[1, 1], do.call(paste, c(x[1, x != ""][, -1], list(sep="_"))), >> sep=" -") > [1] "19 -C2_Q1_Q2" >> x[1, 2] <- "C1" >> paste(x[1, 1], do.call(paste, c(x[1, x != ""][, -1], list(sep="_"))), >> sep=" -") > [1] "19 -C1_C2_Q1_Q2" > > HTH, > Garrett > > On Fri, Mar 2, 2012 at 2:39 PM, chuck.01 <CharlieTheBrown77@> wrote: >> I have this type of format: >> >> structure(list(day = 19, C1 = structure(1L, .Label = c("", "C1" >> ), class = "factor"), C2 = structure(2L, .Label = c("", "C2"), class >> "factor"), >> ? ?C3 = structure(1L, .Label = c("", "C3"), class = "factor"), >> ? ?Q1 = structure(2L, .Label = c("", "Q1"), class = "factor"), >> ? ?Q2 = structure(2L, .Label = c("", "Q2"), class = "factor"), >> ? ?Q3 = structure(1L, .Label = c("", "Q3"), class = "factor")), .Names >> c("day", >> "C1", "C2", "C3", "Q1", "Q2", "Q3"), row.names = "8", class >> "data.frame") >>> >> >> and want something like this: >> >> ?19 -C2 _Q1_Q2 >> >> any ideas? ?obviously I could use paste() and get this. ?Keep in mind I >> have >> many of these and the presence of "C1", "C2", ... etc will vary. >> >> >> Thanks. >> >> -- >> View this message in context: >> http://r.789695.n4.nabble.com/pasting-several-things-tp4439770p4439770.html >> Sent from the R help mailing list archive at Nabble.com. >> >> ______________________________________________ >> R-help@ 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. > > ______________________________________________ > R-help@ 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. >-- View this message in context: http://r.789695.n4.nabble.com/pasting-several-things-tp4439770p4441950.html Sent from the R help mailing list archive at Nabble.com.