15

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.

divibisan
  • 11,659
  • 11
  • 40
  • 58
jpinelo
  • 1,414
  • 5
  • 16
  • 28

2 Answers2

18

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
Phil
  • 4,344
  • 2
  • 23
  • 33
4

This converts the factor to something manageable:

df1$v1 <- vapply(df1$v1, paste, collapse = ", ", character(1L))
Sunil
  • 3,404
  • 10
  • 23
  • 31