2016-01-18 20 views
2

Он не появляется на работу в этой таблице, названный туЬаЫй:Не удается запустить заочный анализ на двухстороннюю таблице сопряженности с использованием FactoMineR

   0  1  2  3  4  5  7 
Click_No 242854 91661 102  21  65  51 291 
Click_Yes 48274 20785  14  2  19  4 146 

Однако, он работает на этой таблице:

  0  1  2  3  4  5  7 
Row1  4  0  0  0  0  0  11 
Row2  35  2  0  0  0  0  0 
Row3 18364  14  0  0  0  0  0 
Row4  13  0  0  0  0  0  7 
Row5 1497 1521  6  0  0  0  0 
Row6 686  2  0  0  0  0 393 
Row7 270167 110512 110  23  84  54  0 
Row8  1  0  0  0  0  0  26 
Row9 361 395  0  0  0  1  0 

Я использовал FactoMineR функцию:

res.ca <- CA(mytable) 

ли CA не работать на спецификации конкретные типы таблиц непредвиденных обстоятельств? Я не читал ничего в литературе, чтобы предложить это, кроме как для очень больших размеров.

Error generated when running summary(res.ca): 

Call: 
CA(X = mytable) 

The chi square of independence between the two variables is equal to 297.3778 (p-value = 2.982623e-61). 

Eigenvalues 
        Dim.1 
Variance    1e-03 
% of var.   1e+02 
Cumulative % of var. 1e+02 

Rows 
Error in if (nrow(res$row$coord) > nbelements) cat(paste(" (the ", nbelements, : 
    argument is of length zero 
In addition: Warning message: 
In max(nchar(rownames(res[aux[1]][[1]]$coord))) : 
    no non-missing arguments to max; returning -Inf 

Edit:

dput(mytable) выход:

mytable <- structure(c(242854L, 48274L, 91661L, 20785L, 102L, 14L, 21L, 
2L, 65L, 19L, 51L, 4L, 291L, 146L), .Dim = c(2L, 7L), .Dimnames = structure(list(
    c("0", "1"), c("0", "1", "2", "3", "4", "5", "7")), .Names = c("", 
"")), class = "table") 
+0

Конечно 'res.ca <- CA (* tableordataframename *)' не является правильным синтаксисом. Пожалуйста исправьте. Кроме того, опубликуйте 'dput (mytable)'. –

+0

Несомненно. Спасибо. – iuppiter

+0

У меня есть другая ошибка, но это ошибка. –

ответ

2

Я думаю, что проблема статистической и не вычислительная. Анализ соответствия дает максимум min (j-1; i-1) измерений, где i - количество строк и j - количество столбцов (т. Е. Количество модальностей двух переменных). Вы пытаетесь сделать CA таблицы j = 2; i = 8. Он может выводить только одну ось. Вот почему вы получаете эту ошибку: вы не должны использовать CA с переменной двух модификаций.

Существуют математические объяснения этого п. 84 of Benzecry's Correspondance Analysis Handbook, например. Вы можете получить более подробное объяснение, если вы зададите вопрос об этом на CV.

Вот пример с данными children, установленными в FactoMineR:

library(FactoMineR) 
data("children") 
## Example from help("CA"), works fine 
summary(CA(children, row.sup = 15:18, col.sup = 6:8)) 
## Example when we restrict the contingency table to the first two rows. 
## Produces an error 
summary(CA(children, row.sup = 3:18, col.sup = 6:8))