R Convert list to lowercase

user6633625673888 picture user6633625673888 · May 25, 2015 · Viewed 64.8k times · Source

Var1 is a list:

var1 <- list(c("Parts of a Day", "Time in Astronomy", "Star"),  c("Tree Tall", "Pine Tree"))

How to convert all the characters to lowercase? The desired answer is the following list:

var1 <- list(c("parts of a day", "time in astronomy", "star"),  c("tree tall", "pine tree"))

I used

as.list(tolower(var1))

But it gives the following answer with unwanted \

[[1]]
[1] "c(\"parts of a day\", \"time in astronomy\", \"star\")"

[[2]]
[1] "c(\"tree tall\", \"pine tree\")"

Thanks.

Answer

MrFlick picture MrFlick · May 25, 2015

You should use lapply to lower case each character vector in your list

lapply(var1, tolower)

# [[1]]
# [1] "parts of a day"    "time in astronomy" "star"             
# 
# [[2]]
# [1] "tree tall" "pine tree"

otherwise tolower does as.character() on your entire list which is not what you want.