Great! Thanks Sent from my LG G Flex, an AT&T 4G LTE smartphone ------ Original message------ From: Jorge I Velez Date: Fri, Aug 15, 2014 8:54 AM To: Sohail Khan; Cc: Jim Lemon;R Help; Subject:Re: [R] reshape a dataset If that's the case, you could do the following: d <- with(skdat, table(ID, lettertag)) d <- data.frame(cbind(ID = rownames(d), d)) rownames(d) <- NULL d HTH, Jorge.-
On Fri, Aug 15, 2014 at 8:22 PM, Sohail Khan <sohail13 at gmail.com> wrote:
Thanks Jim and Jorge, Clever solutions, the final output is a list. How do I covert it back a dataframe? -Sohail
On Fri, Aug 15, 2014 at 5:37 AM, Jorge I Velez <jorgeivanvelez at gmail.com> wrote:
Dear Sohail,
Using Jim's data set skdat, two more options would be
# first option
d <- with(skdat, table(ID, lettertag))
names <- colnames(d)
d <- c(list(rownames(d)), lapply(1:ncol(d), function(i) as.numeric(d[,i])))
names(d) <- c('ID', names)
d
# second option
d <- with(skdat, table(ID, lettertag))
res <- c(list(rownames(d)), sapply(apply(d, 2, list), "[", 1))
names(res)[1] <- "ID"
res
HTH,
Jorge.-
On Fri, Aug 15, 2014 at 7:19 PM, Jim Lemon <jim at bitwrit.com.au> wrote:
On Thu, 14 Aug 2014 06:08:51 PM Sohail Khan wrote:
Hi I have data set as follows: A 92315 A 35018 A 56710 B 52700 B 92315 B 15135 C 35018 C
52700
I would like to transform this data set into: ID 92315 35018 56710 52700 15135 A 1 1 1 0 0 B 1 0 0 1 1 C 0 1 0
1 0
I looked into reshape package to no avail. I would appreciate any suggestions. -Sohail
Hi Sohail,
You are doing a bit more than reshaping. This may get you there:
skdat<-read.table(text="A 92315
A 35018
A 56710
B 52700
B 92315
B 15135
C 35018
C 52700",stringsAsFactors=FALSE)
names(skdat)<-c("lettertag","ID")
ID<-unique(skdat$ID)
lettertags<-unique(skdat$lettertag)
newskdat<-list(ID)
for(i in 1:length(lettertags))
newskdat[[i+1]]<-
as.numeric(ID %in% skdat$ID[skdat$lettertag==lettertags[i]])
names(newskdat)<-c("ID",lettertags)
I'm assuming that you don't really want your answer as a single string.
Jim
______________________________________________ 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.
______________________________________________ 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.