Learn R Programming

lessR (version 2.8)

Transform: Transform the Values of an Integer or Factor Variable

Description

Abbreviation: trans

Based closely on the standard R transform function. Output is provided that provides feedback and guidance regarding the specified transformation(s).

Usage

Transform(data=mydata, quiet=FALSE, ...)

trans(...)

Arguments

data
The name of the data frame from which to create the subset, which is mydata by default.
quiet
If set to TRUE, no text output.
...
The list of transformations, each of the form, variable = equation. Each variable can be the name of an existing variable in the data frame or a newly created variable.

Value

  • The transformed data frame is returned, usually assigned the name of mydata as in the examples below. This is the default name for the data frame input into the lessR data analysis functions.

Details

The first five rows of the data frame are listed before the transformation, and the first five values of the transformed variables are listed after the transformation. The default input data frame is mydata.

Guidance and feedback regarding the transformations are provided by default. The first five lines of the input data frame are listed before the transformation, then the specified transformations are listed, followed by the first five lines of the transformed data frame.

Multiple transformations can be defined with a single statement. Note that a newly created transformed variable cannot then be used to define another transformed variable in the same Transform statement. Instead, the transformed variable that depends on an earlier created transformed variable must be defined in its own Transform statement.

See Also

transform, factor.

Examples

Run this code
# construct data frame
mydata <- read.table(text="Status Severity
1 Mild
4 Moderate
3 Moderate
2 Mild
1 Severe", header=TRUE)

# replace Status with a transformed version
mydata <- Transform(Status=Status-1)

# abbreviated form
# replace original with recoded
mydata <- trans(StatusNew=Status-1)

# replace Status with a transformed version
# leave input mydata unmodified
# save transformed data frame to the created data frame called newdata
newdata <- Transform(Status=Status-1)

# construct data frame
# recode Status into a factor
mydata <- Transform(Status=factor(Status, labels=c("OK","Hurts","Painful","Yikes")))

# read lessR data set dataEmployee into data frame mydata
mydata <- Read("Employee", format="lessR")
# multiple transformations in one statement
#  Months is a new variable
#  Salary is a new version of the old Salary
#  Satisfaction was read as non-numeric, so as a factor, but now is ordinal
#  HealthPlan was read as numeric values 0,1,2, now converted to a factor
mydata <- Transform(
  Months=Years*12, 
  Salary=Salary/1000,
  Satisfaction=factor(Satisfaction, levels=c("low", "med", "high"), ordered=TRUE),
  HealthPlan=factor(HealthPlan,
     levels=c(0,1,2), labels=c("GoodHealth", "YellowCross", "BestCare"))
)

Run the code above in your browser using DataLab