R Преобразовать список в нижний регистр

Var1 - это список:

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

Как преобразовать все символы в строчные буквы? Требуемый ответ следующий список:

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

Я использовал

as.list(tolower(var1))

Но он дает следующий ответ с нежелательным \

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

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

Спасибо.

Ответ 1

Вы должны использовать lapply, чтобы нижний регистр каждого символьного вектора в вашем списке

lapply(var1, tolower)

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

в противном случае tolower делает as.character() во всем вашем списке, что не то, что вам нужно.

Ответ 2

Используйте gsub

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

это приведет к удалению всех ваших/вне вашей переменной.