2011-10-16 237 views
1

見:Selecting significant cases from a chi-squared test創建在數據幀R

在上述情況下給出的模型的例子是:

f = function(N=1000){ 
    out <- data.frame("Row" = 1:N 
       , "Column" = 1:N 
       , "Chi.Square" = runif(N) 
       , "df"= sample(N, 1:10, replace=T) 
       , "p.value" = round(runif(N), 3) 
       ) 
    return(out) 
    } 

但是當我將適用這對我的模型我把它變成:

f = function(N=7000){ 
combos <- combn(ncol(final),2) 

adply(combos, 2, function(x) { 
test <- chisq.test(final[, x[1]], final[, x[2]]) 

out <- data.frame("Row" = colnames(final)[x[1]] 
       , "Column" = colnames(final[x[2]]) 
       , "Chi.Square" = round(test$statistic,3) 
       , "df"= test$parameter 
       , "p.value" = round(test$p.value, 3) 
       ) 
return(out) 
}} 

但是R並沒有把這看作是一個完成的命令行。爲什麼?

+2

所以,你很難找到哪裏放')'?我敢打賭,如果你嘗試在最後的幾個隨機點放一個'''',你就會知道。 – joran

+0

@joran:這非常低效。您需要編寫一個遺傳算法來添加字符,並對這些行進行變異和合並,直到它生成正確的代碼。 –

回答

0

讓自己體面的編輯:-)

adply(

未關閉。

編輯:也不

function(...){ 

它看起來像最終}真的應該是一個) + }

+2

這是不正確的。最後一行應該是'})}'。也許你還需要一個更好的編輯器? ;-) –

+0

我的編輯很好,謝謝。 – KarlP

+1

(這是更多的用戶問題...) – KarlP