Предположим, у меня есть функция, которая считывает данные из таблицы MySQL, обрабатывает ее и возвращает некоторый data.frame. Обратите внимание, что функция является лишь примером которого функциональность не сама материя ... и т.д .:Как вернуть data.frame с заданным именем из функции?
addRowSd <- function(table,con,pattern="^Variable") {
dframe <- dbReadTable(con,table)
cn <- colnames(dframe)
qs <- subset(x, x %in% grep(pattern, x, value=TRUE))
dframe$qsd <- sd(t(dframe[,c(qs)]))
return(dframe)
}
mydf$sd <- addRowSd(...)
Я в конечном итоге с data.frame называется mydf. Теперь я хотел бы сделать это с символьным вектором имен таблиц SQL и соответствующим образом назвать возвращаемые данные. Если я просто использую
x=lapply(MySQLtablenames,addRowSd,con)
Я получу список, названный x. Конечно, я мог бы перечислить и переименовать все так, как мне хотелось бы, но мой вопрос:
Как я могу сделать lapply (или другую сопоставимую функцию) возвращать многомерные одиночные кадры или, по крайней мере, список, содержащий некоторые имена, полученные из моего символьного вектора «MySQLtablenames»?
возможно это может помочь сделать функцию addRowSd присвоить некоторое имя возвращенного data.frame ... –
Как о 'names (x) <- MySQLtablenames' или в одной строке' x <-setNames (lapply (MySQ Ltablenames, addRowSd, con), MySQLtablenames) 'или' x <-lapply (setNames (MySQLtablenames, MySQLtablenames), addRowSd, con) ' – Marek