Как использовать строковые переменные для создания списка переменных для ddply?

Используя встроенный в R набор данных примера ToothGrowth, это работает:

ddply(ToothGrowth, .(supp,dose), function(df) mean(df$len)) 

Но я бы хотел, чтобы факторы подмножества были переменными, что-то вроде

factor1 = 'supp'
factor2 = 'dose'
ddply(ToothGrowth, .(factor1,factor2), function(df) mean(df$len)) 

Это не работает. Как это сделать?

Я подумал, может быть, примерно так:

factorCombo = paste('.(',factor1,',',factor2,')', sep='') 
ddply(ToothGrowth, factorCombo, function(df) mean(df$len)) 

Но это тоже не работает. Я думаю, что близок, но не знаю, как это сделать. Я полагаю, что всю команду можно было бы поместить в строку с последующим вызовом eval () строки, но, надеюсь, есть более элегантный способ?

10
задан Alex Holcombe 24 September 2010 в 04:25
поделиться