[R] dataframe to list conversion

Bill.Venables at csiro.au Bill.Venables at csiro.au
Tue Jul 28 05:44:45 CEST 2009


All you need is

csum <- function(m) sapply(m, sum)

(in which case making csum a function does not achieve very much). 

If for some reason you want to hang on to your code and just modify the last line (though I cannot think why, but still...) you could do

csum <- function(m) {
    a <- data.frame(m)  ## not needed
    s <- lapply(a,sum)
    unlist(s)           ## simplifies the list into a vector.
}

Bill Venables
http://www.cmis.csiro.au/bill.venables/ 


-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of voidobscura
Sent: Tuesday, 28 July 2009 1:04 AM
To: r-help at r-project.org
Subject: [R] dataframe to list conversion


Hi all, I have been experimenting with writing my own matrix column sum
function.  I want it to return a list.

csum<-function(m)
{
    a = data.frame(m)
    s = lapply(a,sum)
    return(s)    
}

I wish to use the same code up until the return(s) that I have listed above. 
The problem is that s, I believe, is a data frame (looks like this:)

$X1
[1] 148

$X2
[1] 156

$X3
[1] 164

$X4
[1] 172

$X5
[1] 180

I would like a vector with these values (148,156,etc).  How may I do this? 
tia!
-- 
View this message in context: http://www.nabble.com/dataframe-to-list-conversion-tp24682262p24682262.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.




More information about the R-help mailing list