Hi, Try: dat1 <- read.table(text="a b c x 1 4 7 y 2 5 8 z 3 6 9",header=TRUE) dat2 <- dat1 #either library(reshape2) res1 <- within(melt(dat1,id.var="ID"),cell<-as.character(interaction(variable,ID,sep="_")))[,c(4,3)] #or indx <- which(dat2>0,arr.ind=TRUE) res2 <- data.frame(cell=paste(colnames(dat2)[indx[,2]],rownames(dat2)[indx[,1]],sep="_"),value=dat2[indx],stringsAsFactors=FALSE) ?identical(res1,res2) #[1] TRUE A.K.
On Tuesday, November 19, 2013 11:07 PM, Nitisha jha <nitisha999 at gmail.com> wrote:
Hi could you please let me know the solution? Thanks
On Wed, Nov 20, 2013 at 4:13 AM, <smartpink111 at yahoo.com> wrote:
Hi,
If this is a data.frame(), then I have some solution for this problem. ?Also, you need to post it in R-help if that is the case. Thanks. A.K. <quote author='nuts'> Sample input dataset where a,b,c are col names. x y z are row names. ? ? ? ? a ? ? ? b ? ? ? c x ? ? ? 1 ? ? ? 4 ? ? ? 7 y ? ? ? 2 ? ? ? 5 ? ? ? 8 z ? ? ? 3 ? ? ? 6 ? ? ? 9 I want output to be like this after manipulating the dataset. cell ? ?value a_x ? ? 1 a_y ? ? 2 a_z ? ? 3 b_x ? ? 4 b_y ? ? 5 b_z ? ? 6 c_x ? ? 7 c_y ? ? 8 c_z ? ? 9 where cell and value are the colnames. How do I achieve this? I am at a loss here. </quote> Quoted from: http://r.789695.n4.nabble.com/Datatable-manipulation-tp4680747.html
_____________________________________ Sent from http://r.789695.n4.nabble.com