Desidero creare una funzione che accetta un nome del set di dati e un nome di pacchetto e restituisce il set di dati come data.frame. Ecco il mio tentativoUna funzione che restituisce un set di dati
loadDataSet <- function(name, pkg) {
varname <- data(name, package=pkg)
return(get(varname[[1]]))
}
loadDataSet("acme", "boot")
Tuttavia, questa funzione non riesce. Il problema sembra essere che la chiamata a data() non cerca il valore della variabile name, ma piuttosto "name".
So già come passare da una variabile al suo nome, tramite deparse (sostituto (var)). Ma come faccio a passare dall'altra parte, da "var" a var?
Qualsiasi suggerimento apprezzato!
Se non si desidera che il set di dati stampati alla console, utilizzare 'invisible' invece di' return'. –
Beh, questo ha sicuramente aiutato. Grazie! Ora ho un problema simile con table(). Diciamo che ho attaccato il cgd alla sopravvivenza e ora desidero un tavolo (sesso, trattamento), ma ho di nuovo solo le stringhe "sex" e "treat". Come lo posso fare? do.call ("table", list ("sex", "treat")) non è riuscito ... –
prova questo: return (do.call ("table", list (eval (parse (text = var1)), eval (parse (text = var2))))) –