Hello,
I have a large data set which I am trying to get in to a long/narrow format.
I have given an example below of how I want my data to look before and
after... any ideas for an easy way to do this?
*###Start With this...
*set.seed(1)
a=rnorm(10)
b=rnorm(10)
c=rnorm(10)
d=rnorm(10)
e=rnorm(10)
f=rnorm(10)
g=rnorm(10)
h=rnorm(10)
G=c(1,2,3,4,5,6,7,8,9,10)
test=matrix(c(G,a,b,c,d,e,f,g,h),ncol=9)
colnames(test)=c("G","a","b","c","d","e","f","g","h")
*test*
### WHERE...
# a-d = male. e-h > sex = female
# a,c,e,g > replicate = 1
# a+b > experimental line = L1, c+d =L2....
*### Which Becomes This...
*z2=as.numeric(c(seq(1:10),seq(1:10),seq(1:10),seq(1:10)))
sex=c("m","m","m","m","m","m","m","m","m","m","m","m","m","m","m","m","m","m","m",
"m","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f")
rep=c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2)
line=c("A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","A1","A2","A3","A4","A5"
,"A6" ,"A7" ,"A8" ,"A9" ,"A10" ,"A1" ,"A2" ,"A3" ,"A4" ,"A5" ,"A6" ,"A7"
,"A8" ,"A9" ,"A10")
r=as.numeric(c(rnorm(10),rnorm(10),rnorm(10),rnorm(10)))
test2=matrix(c(z2,sex,rep,line,r),ncol=5)
colnames(test2)=c("G","Sex","Rep","Line","Res")
*test2*
--
View this message in context: http://r.789695.n4.nabble.com/reshaping-tp4439182p4439182.html
Sent from the R help mailing list archive at Nabble.com.
reshaping
2 messages · robgriffin247, Ista Zahn
Hi, I *think* this is what you want... On Fri, Mar 2, 2012 at 12:29 PM, robgriffin247
<robgriffin247 at hotmail.com> wrote:
Hello,
I have a large data set which I am trying to get in to a long/narrow format.
I have given an example below of how I want my data to look before and
after... any ideas for an easy way to do this?
*###Start With this...
*set.seed(1)
a=rnorm(10)
b=rnorm(10)
c=rnorm(10)
d=rnorm(10)
e=rnorm(10)
f=rnorm(10)
g=rnorm(10)
h=rnorm(10)
G=c(1,2,3,4,5,6,7,8,9,10)
test=matrix(c(G,a,b,c,d,e,f,g,h),ncol=9)
colnames(test)=c("G","a","b","c","d","e","f","g","h")
*test*
library(reshape2) test.m <- melt(as.data.frame(test), id.vars="G")
### WHERE... ?# a-d = male. e-h > sex = female
test.m$sex <- ifelse(as.character(test.m$variable) %in% letters[1:4], "male", "female")
?# a,c,e,g > replicate = 1
test.m$replicate <- ifelse(as.character(test.m$variable) %in% c("a",
"c", "e", "g"), 1, 2)
?# a+b > experimental line = L1, c+d =L2....
test.m$line <- paste(test.m$variable, test.m$G, sep = "") HTH, Ista
*### Which Becomes This...
*z2=as.numeric(c(seq(1:10),seq(1:10),seq(1:10),seq(1:10)))
sex=c("m","m","m","m","m","m","m","m","m","m","m","m","m","m","m","m","m","m","m",
"m","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f","f")
rep=c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2)
line=c("A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","A1","A2","A3","A4","A5"
,"A6" ? ,"A7" ? ,"A8" ? ,"A9" ? ,"A10" ?,"A1" ? ,"A2" ? ,"A3" ? ,"A4" ? ,"A5" ? ,"A6" ? ,"A7"
,"A8" ? ,"A9" ? ,"A10")
r=as.numeric(c(rnorm(10),rnorm(10),rnorm(10),rnorm(10)))
test2=matrix(c(z2,sex,rep,line,r),ncol=5)
colnames(test2)=c("G","Sex","Rep","Line","Res")
*test2*
--
View this message in context: http://r.789695.n4.nabble.com/reshaping-tp4439182p4439182.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.