s-news
[Top] [All Lists]

Summary: dataset rearrangement

To: s-news@lists.biostat.wustl.edu
Subject: Summary: dataset rearrangement
From: Stafford Phillip-APS095 <phillip.stafford@motorola.com>
Date: Wed, 19 Sep 2001 11:49:20 -0500
Dear S Group;

Thank you all for invaluable methods for shuffling/rearranging datasets, this 
has proved most enlightening - this group has an amazing amount of very diverse 
talent.  In particular, special thanks go to the brain trust:

Joseph Verducci - scam.dat is original dataset.
val <- as.matrix(A[-(1:3),])
n <- nrow(val)
k <- ncol(val)
Name _ rep(dimnames(val)[[1]],k)
val <- as.numeric(val)
group <- rep(as.numeric(sapply(A[1,],as.character)),rep(n,k))
lot <- rep(as.numeric(sapply(A[2,],as.character)),rep(n,k))
name <-rep(sapply(A[3,],as.character),rep(n,k))
ans _ data.frame(Name,val,group,lot,name)

Julian Taylor - data is original dataset
rlen <- dim(data)[1] - 3
clen <- dim(data)[2]
newd <- data.frame(split(rep(c(t(data[1:3,])), rep(rlen, clen*3)), rep(1:3, 
rep(rlen*clen, 3)) 
newd$val <- unlist(lapply(data[4:(rlen + 3),], function(el) 
as.numeric(as.character(el))))
names(newd)[1:3] <- row.names(data)[1:3] 
row.names(newd) <- rep(row.names(data)[4:(rlen + 3)], clen)

Don MacQueen - df.in
lots <- c(2,3)
nlots <- length(lots)
vrows <- 4:9
nvrows <- length(vrows)
tmp <- as.matrix( as.numeric(df.in[vrows,lots]))
tmp.val <- as.vector(tmp)
unwind matrix to vector
tmp.name <- rep(df.in[vrows,1],nlot)
tmp.grp <- c(rep(df.in[2,lots[1]],nvrows),rep(df.in[2,lots[2]],nvrows))
new.df <- 
data.frame(Name=tmp.name,val=tmp.val,group=tmp.grp,lot=tmp.lot,name=tmp.name)

Rolf Turner - m is original dataset
NC    <- ncol(m)-1
m1    <- m[1:3,]
m2    <- m[4:nrow(m),]
group <- rep(m1[1,-1],rep(6,NC))
lot   <- rep(m1[2,-1],rep(6,NC))
name  <- rep(m1[3,-1],rep(6,NC))
Name  <- rep(m2[,1],ncol(m2)-1)
val   <- as.numeric(c(m2[,-1]))
result <- data.frame(Name=Name,val=val,group=group,lot=lot,name=name)

Jean Adams - df1 is original dataset
m1 <- as.matrix(df1)
val <- as.numeric(as.vector(m1[4:9, ]))
Name <- rep(dimnames(m1)[[1]][4:9], length.out=length(val))
group <- rep(as.numeric(m1[1, ]), rep(6, dim(m1)[2]))
lot <- rep(as.numeric(m1[2, ]), rep(6, dim(m1)[2]))
name <- rep(m1[3, ], rep(6, dim(m1)[2]))
df2 <- data.frame(Name, val, group, lot, name)

<Prev in Thread] Current Thread [Next in Thread>
  • Summary: dataset rearrangement, Stafford Phillip-APS095 <=