【问题标题】:par(mfrow=...) for multiple biplot charts from psych librarypar(mfrow=...) 用于 psych 库中的多个双标图
【发布时间】:2013-02-14 09:11:47
【问题描述】:

当我运行以下代码时,我没有得到预期的结果。我希望在一个窗口中获得所有图(当我做一个更简单的plot(1:5) 时它可以工作),但只有最后一个图出现在左上角。

为什么会发生这种情况以及如何获得所需的行为?

library(psych)
swiss2<-swiss[c(2:6)]
rotations <- c("none", "varimax", "quatimax", 
               "promax", "oblimin", "simplimax")

par(mfrow=c(2,3))
for (current_rotation in rotations){
  biplot(principal(swiss2, nfactors = 2, rotate = current_rotation, scores = T), 
         main = current_rotation)
}

注意:我用windows()x11() 尝试了不同的图形设备。同样的问题。

【问题讨论】:

    标签: r plot psych


    【解决方案1】:

    这是 biplot.psych 中的一个微妙错误。

    我在 biplot.psych 退出时将图形参数重置为原始设置。 我已经修改了这个以保持 op

    一般来说,如果您发现 psych 中的错误,如果您告诉我,我会更快地修复它。

    比尔

    【讨论】:

    • 非常感谢!我绝对应该让你知道的。是否有可用的软件包更新版本?
    • 当前版本的 1.3.10(即将是 1.3.10.11)在 CRAN 上。
    【解决方案2】:

    嗯,这里很好用。

    我的第一次尝试失败并出现以下错误消息:

    Loading required package: GPArotation
    Erreur dans principal(swiss2, nfactors = 2, rotate = current_rotation, scores = T) (depuis #2) :
      I am sorry, to do these rotations requires the GPArotation package to be installed
    De plus : Message d'avis :
    In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
      there is no package called ‘GPArotation’
    

    你有安装包GPArotation 吗?

    【讨论】:

    • 你有五个地块吗?即使安装了 GPARotation,我也只能得到最后一个情节。
    • @AnandaMahto 好吧,是的,我什至得到了六个图...刚刚在我的答案中添加了一个证明。
    • 嗯。奇怪的。我又试了一次,我确实得到了六个图,但每个图都是单独绘制的(不是像你一样都在一个屏幕上)。
    • 这里也一样,我只得到了图左上角的最后一个图。它似乎与principalcall 有关,因为如果我用 2 个随机矩阵代替这个,它就可以正常工作。
    • @cafe876 我在 Linux 下。我已经从终端尝试使用 Rstudio、Emacs+ess 和 vanilla R,都可以正常工作...
    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 2020-11-19
    相关资源
    最近更新 更多