R (SensoMineR) 在使用 pmfa 函数时未生成所有图
R (SensoMineR) is not producing all plots when using pmfa function
我正在尝试对我的数据集执行 Procrustean 多因素分析。
该数据集是使用一种称为 'napping' 的技术创建的,该技术用于感官科学。我遇到的问题是 pmfa
应该生成的情节之一没有被 R 返回。
1。坐标数据框
第一个(虚拟)数据框由 3 名小组成员创建,他们将 4 个饮料样本放在一张 sheet 纸上,并记录饮料在该纸上位置的 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
在每张 sheet 纸上绘制 4 个样本的配置,因为它们由 3 位小组成员中的每一个放置。这对我来说很好。
library(SensoMineR)
nappeplot(data1.coord, lim = c(650,433)) # Plot panelists' maps
但是当我试图让 R 绘制个别小组成员的地图以及他们如何相互比较时,R 只 returns 前 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
对象,这对返回的地图数量也没有影响。
不知道为什么最后一个嘉宾的图没有画出来。任何帮助将不胜感激。
我已经通过更新解决了这个问题
- R 从版本 3.6.0 到版本 4.0.4,
- 将 RStudio 更新到版本 1.4.1106 并且
- 使用这些说明更新 Rtools:https://cran.r-project.org/bin/windows/Rtools/
现在 pmfa(data1.coord, data1.desc)
可以毫无问题地显示所有小组成员的地图。
我正在尝试对我的数据集执行 Procrustean 多因素分析。
该数据集是使用一种称为 'napping' 的技术创建的,该技术用于感官科学。我遇到的问题是 pmfa
应该生成的情节之一没有被 R 返回。
1。坐标数据框
第一个(虚拟)数据框由 3 名小组成员创建,他们将 4 个饮料样本放在一张 sheet 纸上,并记录饮料在该纸上位置的 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
在每张 sheet 纸上绘制 4 个样本的配置,因为它们由 3 位小组成员中的每一个放置。这对我来说很好。
library(SensoMineR)
nappeplot(data1.coord, lim = c(650,433)) # Plot panelists' maps
但是当我试图让 R 绘制个别小组成员的地图以及他们如何相互比较时,R 只 returns 前 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
对象,这对返回的地图数量也没有影响。
不知道为什么最后一个嘉宾的图没有画出来。任何帮助将不胜感激。
我已经通过更新解决了这个问题
- R 从版本 3.6.0 到版本 4.0.4,
- 将 RStudio 更新到版本 1.4.1106 并且
- 使用这些说明更新 Rtools:https://cran.r-project.org/bin/windows/Rtools/
现在 pmfa(data1.coord, data1.desc)
可以毫无问题地显示所有小组成员的地图。