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.
as. data. frame() function in R Programming Language is used to convert an object to data frame.
as_tibble() turns an existing object, such as a data frame or matrix, into a so-called tibble, a data frame with class tbl_df . This is in contrast with tibble() , which builds a tibble from individual columns. as_tibble() is to tibble() as base::as.
The DataFrame class extends the DataTable virtual class and supports the storage of any type of object (with length and [ methods) as columns.
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With