Я пытаюсь выполнить прокрустово-многофакторный анализ моего набора данных. Набор данных был создан с использованием метода, называемого «врасплох», который используется в сенсорной науке. У меня проблема в том, что один из графиков pmfa
, который предполагается создать, не возвращается R.
1. Фрейм данных координат
Первый (фиктивный) фрейм данных был создан 3 участниками, поместив 4 образца напитка на лист бумаги и записав координаты X и Y положения напитка на этой бумаге (data1.coord
).
X1<- c(573, 234, 545, 557) # x coordinate for Panelist 1 (P01)
Y1<- c(391, 308, 375, 82) # y coordinate for Panelist 1 (P01)
X2<- c(303, 224, 577, 515) # x coordinate for Panelist 2 (P02)
Y2<- c(83, 369, 204, 156) # y coordinate for Panelist 2 (P02)
X3<- c(519, 328, 530, 87) # x coordinate for Panelist 3 (P03)
Y3<- c(117, 281, 368, 62) # y coordinate for Panelist 3 (P03)
data1.coord <- data.frame(cbind(X1, Y1, X2, Y2, X3, Y3))
rownames(data1.coord) = c("Sample1" ,"Sample2" ,"Sample3" ,"Sample4")
data1.coord
2. Фрейм данных дескрипторов
Эксперты также назначили дескрипторы (сладкие, землистые, горькие, вяжущие, дымные) для 4 выборок, которые были записаны в отдельном фрейме данных (data1.desc
).
sweet <- c(1, 1, 2, 1)
earthy <- c(1, 1, 1, 2)
bitter <- c(1, 0, 0, 0)
astringent <- c(2, 0, 2, 1)
smokey <- c(2, 2, 0, 0)
data1.desc <- data.frame(cbind(sweet, earthy, creamy, vanilla, smokey)) # contingency table with attributes
rownames(data1.desc) = c("Sample1" ,"Sample2" ,"Sample3" ,"Sample4")
data1.desc
3. Анализ
SensoMineR
был использован для анализа этих данных. nappeplot
отображает конфигурацию 4-х образцов на каждом листе бумаги, как они были размещены каждым из 3 участников. Это прекрасно работает для меня.
library(SensoMineR)
nappeplot(data1.coord, lim = c(650,433)) # Plot panelists' maps
Но когда я пытаюсь получить R для построения карт отдельных участников панели и их сравнения друг с другом, R возвращает карты только первых 2 участников. Я пробовал это с разными наборами данных с разным количеством участников дискуссии, но безрезультатно. По какой-то причине сюжет для последнего участника дискуссии никогда не возвращается. Не имеет значения, является ли последний участник дискуссии номером 3,9 или 100. Последний график просто отсутствует.
x11()
res1 <- pmfa(data1.coord, data1.desc)
4. Код из SensoMineR
Документация + Устранение неполадок
Я попытался запустить пример кода, приведенный в документации SensoMineR
:
data(napping)
x11()
pmfa(napping.don, napping.words)
Это также отлично работает. Все карты панелистов построены. Я сравнил их фрейм данных с моим, и структуры выглядят одинаково. Единственное, что они не делают, это то, что я передаю pmfa
объекту (res1
). Я пробовал без объекта res1
, и это также не влияет на количество возвращаемых карт.
Я не знаю, почему карта последнего участника не строится. Любая помощь будет принята с благодарностью.