РЕДАКТИРОВАТЬ:
Если я правильно вас понимаю, ваши данные не подходят для любой функции MCA.Вам нужны необработанные данные, а не нормализованные значения частоты.MCA работает с категориальными переменными, а не с числовыми.Вам нужны данные в следующем виде:
color beak ...
individual1 red big
individual2 red small
individual3 blue medium
individual4 green small
...
, если нормализованные частоты действительно являются вашими данными, у вас есть числовые данные, и вы не можете выполнить MCA для этого.
A factor
- это векторный тип в R, который можно рассматривать как категориальный или перечислимый тип.Если у вас есть данные в формате, описанном выше, и у вас все еще есть символьные переменные вместо факторных переменных, вы можете преобразовать свои fdata с помощью
fdata2 <- as.data.frame(lapply(fdata,as.factor))
. Эту переменную вы сможете использовать в dudi.acm()
function.
Что касается таблицы Бёрта: конечно, она огромна.Это матричное умножение X'X, где X - матрица вашего индикатора для ваших факторов.Таким образом, вы получаете таблицу (фактически фрейм данных), в которой имена строк и столбцов имеют вид nameOfFactor.nameOfLevel
.Так что если у вас есть 4 фактора с каждыми 5 уровнями, у вас уже будет матрица 20x20.
Вы можете использовать эти знания для анализа таблицы Бёрта и получения информации о некоторых факторах, представляющих интерес.Следуя примеру в файлах справки, вы можете сделать что-то вроде:
require(ade4)
data(banque)
banque.acm <- dudi.acm(banque, scann = FALSE, nf = 3)
bb <- acm.burt(banque, banque)
idrow <- grepl("csp.",rownames(bb),fixed=T)
idcol <- grepl("duree.",names(bb),fixed=T)
> bb[idrow,idcol]
duree.dm2 duree.d24 duree.d48 duree.d812 duree.dp12
csp.agric 3 6 6 3 11
csp.artis 7 3 15 13 10
csp.cadsu 13 19 32 9 30
csp.inter 12 14 19 25 32
csp.emplo 13 19 38 28 53
csp.ouvri 12 26 46 43 56
csp.retra 4 8 9 7 24
csp.inact 15 14 22 15 19
csp.etudi 12 23 20 1 1
, который дает вам таблицу Burt для факторов csp и duree в кадре данных.