2015-05-24 2 views
7

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

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\")" 

Спасибо.

ответ

14

Вы должны использовать sapply в нижний регистр каждый вектор символов в списке

sapply(var1, tolower) 

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

иначе tolower делает as.character() на весь список, который не то, что вы хотите.

+6

Почему 'sapply', а не' lapply'? Здесь нет упрощения. – thelatemail

1

Использование gsub

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

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

Смежные вопросы