Come utilizzare le variabili stringa per creare l'elenco delle variabili per ddply?

StackOverflow https://stackoverflow.com/questions/3784187

  •  05-10-2019
  •  | 
  •  

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?

È stato utile?

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
scroll top