2015-02-23 4 views
0

У меня есть эта формула, которая работает точно так, как я хочу, но мне нужно привязать ее к каждой переменной в наборе данных.Запуск lapply с функцией таблицы 2 аргументов

prop.table(table(df$value, df$factorvar), 2) 

Раньше, когда я не должен CrossTab фактором я был в состоянии использовать эту функцию как часть lapply, как это:

basic.calc <- function(x){Props = prop.table(table(x))} 

lapply(df, basic.calc) 

Я до сих пор понять, как кормить второй аргумент в этом. Любая идея о том, как использовать это или лучше, но лучший способ сделать это?

Заранее благодарен!

+1

Выборочные данные с желаемым выходом было бы полезно. – ARobertson

+0

Я действительно не понимаю, что вы пытаетесь сделать ... у вас есть df в вашей lappy, это относится к DataFrame? Поскольку функция обязательно выглядит так, будто она ищет одну переменную, например. 'prop.table (table (mtcars $ carb))' not 'prop.table (table (mtcars))'. Но все же вы говорите, что получаете то, что хотите? – Elin

ответ

1

Может быть, это то, что вы ищете (с использованием данных mtcars):

poss.comb<-combn(names(mtcars),2) # 55 possible combination 
a1<-my[seq(1,length(my),2)] 
a2<-my[seq(2,length(my),2)] 
basic.calc <- function(x,y){prop.table(table(mtcars[,x],mtcars[,y]),2)} 
final<-mapply(basic.calc,a1,a2) #list 
#For example if you want to extract for mpg and cyl, you can use `final[[1]]` 
Смежные вопросы