transform {dformula} | R Documentation |
Transform varibles
Description
Mutate input variables using a formula.
Usage
transform(from, formula, as = NULL,
na.remove = FALSE, logic_convert = TRUE, ...)
Arguments
from |
a data.frame object with variables |
formula |
a formula indicating the operation to create new varibles. Look at the detail section for explanantion. |
as |
a character vector with names of new variables. |
na.remove |
a logical value indicating whether NA values should be removed. |
logic_convert |
logical value indicating if the new logical varaible are converted to |
... |
further arguments |
Details
The formula is composed of two part:
column_names ~ trasformed_variables
the left-hand side are the names of the column to transform, and the right-hand the operations applied to the selected columns, using the I()
function.
For example:
column_names1 + column_names2 ~ I(log(column_names1)) + I(column_names2/100)
the column_names1
is mutated in log(column_names1)
and column_names2
is divided by 100.
If na.remove
is set to TRUE
, variables are mutaded, and then the observation with missing are removed.
Value
Returns the original data.frame object with mutaded varaibles.
Author(s)
Alessio Serafini
Examples
data("airquality")
dt <- airquality
head(transform(from = dt, Ozone ~ I(Ozone-Ozone)))
head(transform(from = dt, Ozone ~ log(Ozone)))
head(transform(from = dt, Ozone ~ I(Ozone>5)))
head(transform(from = dt, Ozone ~ I(Ozone>5), logic_convert = TRUE))
head(transform(from = dt, ~ log()))
head(transform(from = dt, . ~ log()))
head(transform(from = dt, NULL ~ log()))
head(transform(from = dt, Ozone + Day ~ log()))
head(transform(from = dt, Ozone + Day ~ log(Ozone/100) + exp(Day)))
head(transform(from = dt, Ozone ~ log()))
head(transform(from = dt,Ozone + Wind ~ C(log(1))))
head(transform(from = dt,Ozone + Wind ~ log(Ozone) + C(10)))
head(transform(from = dt, Ozone + Wind~ C(log(Ozone))))
foo <- function(x, a = 100){return(x-x + a)}
head(transform(from = dt, Ozone + Wind ~ foo(a = 100)))
head(transform(from = dt, . ~ foo(a = 100)))
head(transform(from = dt, Ozone + Wind ~ log(log(1))))