28

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.

user6633625673888
  • 625
  • 2
  • 7
  • 17

2 Answers2

42

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.

MrFlick
  • 195,160
  • 17
  • 277
  • 295
1

Use gsub

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

this will remove all your / out of your variable.

Josh Stevens
  • 3,943
  • 1
  • 15
  • 22