DSF_Func | R Documentation |
Applies an R function to transform to a data stream.
DSF_Func(dsd = NULL, func, ..., info = FALSE)
dsd |
A object of class DSD. |
func |
a function that takes a data.frame as the first argument and returns the transformed data.frame. |
... |
further arguments are passed on to the function specified in |
info |
logical; does the function also receive and modify the info columns? |
The function's first argument needs to be a data.frame representing points of the
data stream. The function will be called as ps %>% your_function()
, where ps
is the
data.frame with some points obtained using get_points()
on the data stream source.
An object of class DSF_Func
(subclass of DSF and DSD).
Michael Hahsler
Other DSF:
DSF()
,
DSF_Convolve()
,
DSF_Downsample()
,
DSF_ExponentialMA()
,
DSF_FeatureSelection()
,
DSF_Scale()
,
DSF_dplyr()
stream <- DSD_Gaussians(k = 3, d = 3)
get_points(stream, n = 5)
## Example 1: rename the columns
rename <- function(x, names) {
colnames(x) <- names
x
}
# By default, the info columns starting with . are not affected.
stream2 <- stream %>% DSF_Func(rename, names = c("A", "B", "C"))
stream2
get_points(stream2, n = 5)
## Example 2: add a sum columns
stream3 <- stream2 %>% DSF_Func(function(x) {
x$sum = rowSums(x)
x
})
stream3
get_points(stream3, n = 5)
## Example 3: Project the stream on its first 2 PCs (using a sample)
pr <- princomp(get_points(stream, n = 100, info = FALSE))
pca_trans <- function(x) predict(pr, x[, c("X1", "X2", "X3")])[, 1:2 , drop = FALSE]
pca_trans(get_points(stream, n = 3, info = FALSE))
stream4 <- stream %>% DSF_Func(pca_trans)
stream4
get_points(stream4, n = 3)
plot(stream4)
## Example 4: Change a class labels using info = TRUE. We redefine class 3 as noise (NA)
stream5 <- stream %>% DSF_Func(
function(x) { x[['.class']][x[['.class']] == 3] <- NA; x },
info = TRUE)
stream5
get_points(stream5, n = 5)
plot(stream5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.