R Convert Integer & Numeric Range into Categorical Variable (Example Code)
In this R programming tutorial you’ll learn how to convert numeric and integer data to categorical.
Creation of Example Data
data(iris) # Loading iris head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa |
data(iris) # Loading iris head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa
Example: Create Categorical Variable Based On Numeric Column
iris$SW_cat <- rep(NA, nrow(iris)) # Create empty variable iris$SW_cat[iris$Sepal.Width < 3] <- 1 # Filling categories based on Sepal.Width iris$SW_cat[iris$Sepal.Width >= 3 & iris$Sepal.Width < 3.5] <- 2 iris$SW_cat[iris$Sepal.Width >= 3.5 & iris$Sepal.Width < 4] <- 3 iris$SW_cat[iris$Sepal.Width >= 4] <- 4 iris$SW_cat <- as.factor(iris$SW_cat) # Convert numeric to factor head(iris) # Head of updated iris data set # Sepal.Length Sepal.Width Petal.Length Petal.Width Species SW_cat # 1 5.1 3.5 1.4 0.2 setosa 3 # 2 4.9 3.0 1.4 0.2 setosa 2 # 3 4.7 3.2 1.3 0.2 setosa 2 # 4 4.6 3.1 1.5 0.2 setosa 2 # 5 5.0 3.6 1.4 0.2 setosa 3 # 6 5.4 3.9 1.7 0.4 setosa 3 |
iris$SW_cat <- rep(NA, nrow(iris)) # Create empty variable iris$SW_cat[iris$Sepal.Width < 3] <- 1 # Filling categories based on Sepal.Width iris$SW_cat[iris$Sepal.Width >= 3 & iris$Sepal.Width < 3.5] <- 2 iris$SW_cat[iris$Sepal.Width >= 3.5 & iris$Sepal.Width < 4] <- 3 iris$SW_cat[iris$Sepal.Width >= 4] <- 4 iris$SW_cat <- as.factor(iris$SW_cat) # Convert numeric to factor head(iris) # Head of updated iris data set # Sepal.Length Sepal.Width Petal.Length Petal.Width Species SW_cat # 1 5.1 3.5 1.4 0.2 setosa 3 # 2 4.9 3.0 1.4 0.2 setosa 2 # 3 4.7 3.2 1.3 0.2 setosa 2 # 4 4.6 3.1 1.5 0.2 setosa 2 # 5 5.0 3.6 1.4 0.2 setosa 3 # 6 5.4 3.9 1.7 0.4 setosa 3