문제

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).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top