Come utilizzare le variabili stringa per creare l'elenco delle variabili per ddply?
Domanda
Utilizzando R è integrato ToothGrowth dataset di esempio, questo funziona:
ddply(ToothGrowth, .(supp,dose), function(df) mean(df$len))
Ma mi piacerebbe avere i fattori di sottoinsiemi siano variabili, qualcosa come
factor1 = 'supp'
factor2 = 'dose'
ddply(ToothGrowth, .(factor1,factor2), function(df) mean(df$len))
Questo non funziona. Come si dovrebbe fare?
Ho pensato che forse qualcosa di simile:
factorCombo = paste('.(',factor1,',',factor2,')', sep='')
ddply(ToothGrowth, factorCombo, function(df) mean(df$len))
Ma non funziona neanche. Penso di essere vicino, ma non certo il modo corretto di farlo. Suppongo che l'intero comando potrebbe essere messo in una stringa, seguita da un eval () chiamata della stringa, ma si spera che c'è un modo più elegante?
Soluzione
Prova:
x <- c("supp", "dose")
ddply(ToothGrowth, x, function(df) mean(df$len))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow