Don MacQueen wrote:
As others noted, you can use the built in function colSums, but you said
you're writing your own. Given what you've got so far, that makes the
issue one of structuring the output.
Try
csum <- function(m)
{
a = data.frame(m)
s = lapply(a,sum)
unlist(s)
}
lapply() returns a list, so you have to use unlist() on it in order to
restructure the list into a vector.
However:
Converting the matrix to a dataframe is not needed; you can use the
apply() function on the matrix, as suggested by Jorge, in which case the
result will already be a vector, so you won't need to unlist(). Then
it's much simpler:
csum <- function(m) apply(m,2,sum)
... where csum()'s functionality is already implemented in R as
colSums(), moreover colSums() is faster than csum().
Uwe Ligges
A couple of other notes:
Using return() is unnecessary in such a simple function.
Be careful with terminology. You said you want the result as a single
"list". But a list, in R, is an object with a particular structure, but
*not* the structure you appear to be looking for, since your description
"[1] 6 15 24" looks like a vector, not a list.
-Don
At 11:25 AM -0700 7/16/09, voidobscura wrote:
Alright, so I am trying to write my own function to calculate column
sums in
a matrix. I want the result as a single list with the values.
So far I have:
csum<-function(m)
{
a = data.frame(m)
s = lapply(a,sum)
return(s)
}
What is the easiest way to have it return in a format such as [1] 6 15
24 ?
Thanks.
--
View this message in context:
http://*www.*nabble.com/DataFrame-help-tp24521881p24521881.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
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.