jpinelo
jpinelo

Reputation: 1454

How to convert factor levels to list, in R

Imagine a data frame such as df1 below:

df1 <- data.frame(v1 = as.factor(c("m0p1", "m5p30", "m11p20", "m59p60", "m59p60")))

How do I create a list of all the levels of a variable? Thank you.

Upvotes: 15

Views: 30959

Answers (2)

Shashank Raina
Shashank Raina

Reputation: 41

This converts the factor to something manageable:

df1$v1 <- vapply(df1$v1, paste, collapse = ", ", character(1L))

Upvotes: 4

Phil
Phil

Reputation: 4444

To print the levels in the variable, use levels() as @scoa says:

levels(df1$v1)

To make it an explicit list use as.list() as well:

l <- as.list(levels(df1$v1))
l

Upvotes: 18

Related Questions