class "By" into dataframe in R
I'm using by() to evaluate a function by factors in my dataframe, but I need to use the results in a table form.
I've seen a use of as.data.frame.table to get a "By" class object into a data frame, but I'm not sure if this only works when the number of factors employed in the by() function is the same as the length of the "by" output. Using as.data.frame.table I get the following error
"...arguments imply differing number of rows: 10, 33"
Is there another way of doing this? Can tapply be used instead of by() to get a different output class?
btw, I'm using by() to convert my data开发者_开发问答 into a frequency table and then regroup by standard bins
BT_by <- by(BT_H, BT_H$Tax_pp, function(BT_H) hist(rep.int(BT_H$Altitude, BT_H$Count), breaks = seq(0,6600,200), plot = FALSE)$counts)
Any help would be appreciated.
The output of by
is essentially just a list. If you want to combine those vectors, you can use do.call(rbind, BT_by)
(or cbind
depending on what shape you actually want).
精彩评论