Thanks a lot. That worked perfectly.
 
Best,Farnoosh Sheikhi


________________________________


Sent: Wednesday, August 28, 2013 10:37 AM
Subject: Re: list to data frame


If the expected result is data.frame()


 as.data.frame(t(as.data.frame(lapply(dat1,sum))))# would be data.frame.  But, not sure why you need this when you are trying for a histogram.






________________________________


Sent: Wednesday, August 28, 2013 1:33 PM
Subject: Re: list to data frame



I think Data frame.

Best,Farnoosh Sheikhi


________________________________


Sent: Wednesday, August 28, 2013 10:08 AM
Subject: Re: list to data frame


Also, you haven't mentioned what is the expected data format..



----- Original Message -----


Cc: R help <r-help@r-project.org>
Sent: Wednesday, August 28, 2013 1:07 PM
Subject: Re: list to data frame

Hi,
set.seed(249)
dat1<- as.data.frame(matrix(sample(1:20,40*20,replace=TRUE),ncol=20))

#Based on your code:
 vecNew<-sort(t(as.data.frame(lapply(dat1,sum))),decreasing=TRUE)[1:10]

#or
vec1<-sort(unlist(lapply(dat1,sum),use.names=FALSE),decreasing=TRUE)[1:10]
 identical(vec1,vecNew)
#[1]
TRUE


#Instead of using the ?lapply(),
vec2<-setNames(sort(colSums(dat1),decreasing=TRUE)[1:10],NULL)
 identical(as.numeric(vec1),vec2)
#[1] TRUE
A.K.





________________________________


Sent: Wednesday, August 28, 2013 12:35 PM
Subject: list to data frame



Hi there,

I have a data set and I want to get the sum of each column. Then order the result from high to low and draw a histogram for the top 10.

I was trying to use lapply(data, sum), but the result is in a list and even after changing to data frame
and get the transpose, I can't get the right data format.

test<-as.data.frame(lapply(data, sum))
test<-t(test)

Thanks for your help.

Best,Farnoosh Sheikhi  
	[[alternative HTML version deleted]]

