It seems like you're making life hard for yourself. A simple lapply()
will do:
library(data.table)
wday <- c("Mžn","Tue","Wžd","Thř","Fr")
data1 <- data.table(V1 = wday, a2012 = rnorm(5), a2011 = rexp(5,2))
data2 <- data.table(V1 = wday, a2012 = rnorm(5), a2011 = rexp(5,2),
a2010 = rbinom(5,2,0.3))
data <- list(data1, data2)
translit <- function(x) iconv(x, "UTF-8", "ASCII//TRANSLIT", sub = "byte")
invisible(lapply(data, function(dt) {
dt[, V1 := translit(V1)]
}))
data
Note that this modifies your original data in place.