Hi, You can try this: dat1<-read.table(text=" Rad:0 Rad1:2 Rad3:3 ",sep="",header=FALSE)
Variable<-do.call(rbind,lapply(strsplit(as.character(dat1[[1]]),split=":"),`[`,1)) n11<-do.call(rbind,lapply(strsplit(as.character(dat1[[1]]),split=":"),function(x) as.numeric(x[2]))) n12<-2400-n11 dat2<-data.frame(Variable,n11,n12) dat2 # Variable n11 n12 #1 Rad 0 2400 #2 Rad1 2 2398 #3 Rad3 3 2397 str(dat2) #'data.frame': 3 obs. of 3 variables: # $ Variable: Factor w/ 3 levels "Rad","Rad1","Rad3": 1 2 3 # $ n11 : num 0 2 3 # $ n12 : num 2400 2398 2397 #or if you want it as a matrix: newmat<-do.call(rbind,strsplit(as.character(dat1[[1]]),split=":")) n12<-2400-as.numeric(newmat[,2]) newmat2<-cbind(newmat,n12) colnames(newmat2)[1:2]<-c("Variable","n11") A.K. ----- Original Message ----- From: farnoosh sheikhi <farnoosh...@yahoo.com> To: "r-help@R-project.org" <r-help@r-project.org> Cc: Sent: Monday, November 12, 2012 5:52 PM Subject: [R] reshape Hi, I have a R output that looks as follow: Rad:0 Rad1:2 Rad3:3 I want to make a new matrix that looks like : sample size is 2400 Variable n11 n12 Rad 0 2400-0=2400 Rad1 2 2400-2 Rad3 3 2400-3 Thanks a lot for your time and help:) Best,Farnoosh Sheikhi [[alternative HTML version deleted]] ______________________________________________ R-help@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@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.