2015-02-23 38 views
0

我有這個公式,它的工作原理與我想要的完全一樣,但我需要將它適用於數據集中的每個變量。使用2參數表函數運行lapply

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

以前,當我沒有通過的因素,我能夠使用這個函數像這樣的lapply的一部分交叉表:

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

lapply(df, basic.calc) 

我還沒有搞清楚如何餵養這是第二個理由。任何想法如何使用這個或更好的方法來做到這一點?

提前致謝!

+1

與期望的輸出採樣數據將是有益的。 – ARobertson 2015-02-24 00:08:26

+0

我真的不清楚你在做什麼......你有沒有在你的拉皮狗,是否指的是數據框?因爲函數看起來像是在尋找一個單一的變量,例如'prop.table(table(mtcars $ carb))'not'prop.table(table(mtcars))'。但是你說你正在得到你想要的東西? – Elin 2015-02-24 00:12:04

回答

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]]`