2015-05-24 19 views
7

zm1 jest lista:R lista Konwersja na małe

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

Jak przekonwertować wszystkie znaki na małe litery? Pożądana odpowiedź jest następująca lista:

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

użyłem

as.list(tolower(var1)) 

Ale daje następującą odpowiedź z niechcianymi \

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

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

Dzięki.

Odpowiedz

14

Należy użyć sapply obniżyć przypadku każdy wektor znaków na liście

sapply(var1, tolower) 

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

inaczej tolower robi as.character() na całej listy, która nie jest to, co chcesz.

+6

Dlaczego 'sapply', a nie' lapply'? Nie ma tu potrzeby uproszczenia. – thelatemail

1

Zastosowanie gsub

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

to usunie wszystkie swoje/poza zmienną.