R Convert List to Lowercase

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.

2 Answers

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.

1

Use gsub

gsub("/", "", var1)
as.list(tolower(var1))

this will remove all your / out of your variable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

James H. Sterling

James H. Sterling

Environmental Science & Climate Journalist

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.

Share this article
Twitter Facebook Pinterest