With `cytoUtils::getStats`, you can pass in your own customized function, it will receive a `flowFrame` object as the input, from which you can extract the fluorescence intensity matrix, and then do whatever calculation you want, in this case,
geometric.means <- function(fr){
chnls <- colnames(fr)
res <- apply(exprs(fr), 2, function(x)exp(mean(log(x))))
names(res) <- chnls
res
}
getStats(gs, nodes, type = geometric.means)
geometric.means is the name of customised function. fr is the name of its unique argument. As stated by Mike, getStats sends a flowFrame to geometric.means while getStats goes through.the workspace alias gs. Within the code of geometric.means, fr is the name of the variable that contains the flowFrame of the selected events. You can simply get the intensity matrix using the function exprs as shown in the code from Mike as exprs(fr).
After using the customized function above on my quantibead sample, I get the warning message below. Why would this be? Also, the geometric means seem to be way out of the expected range (comparing against the flow cytometer software). Does the function above return the geometric mean of the number of cells with a certain fluorescence intensity (there should be four)?
How would you extract the fluorescence intensity matrix?
geometric.means is the name of customised function. fr is the name of its unique argument. As stated by Mike, getStats sends a flowFrame to geometric.means while getStats goes through.the workspace alias gs. Within the code of geometric.means, fr is the name of the variable that contains the flowFrame of the selected events. You can simply get the intensity matrix using the function exprs as shown in the code from Mike as exprs(fr).
HTH
After using the customized function above on my quantibead sample, I get the warning message below. Why would this be? Also, the geometric means seem to be way out of the expected range (comparing against the flow cytometer software). Does the function above return the geometric mean of the number of cells with a certain fluorescence intensity (there should be four)?
1. In log(x) : NaNs produced
This might help you to answer and improve the function.