gpt4 book ai didi

r - 微调 R 的点阵包中的点图

转载 作者:行者123 更新时间:2023-12-04 22:07:05 26 4
gpt4 key购买 nike

我正在尝试为不同的数据集和不同的算法绘制一堆 ROC 区域。
我有三个变量:“Scheme”指定使用的算法,“Dataset”是测试算法的数据集,以及“Area_under_ROC”。

我在 R 中使用格子库,命令如下:

dotplot(Scheme ~ Area_under_ROC | Dataset, data = simulationSummary, layout = c(4,6))



这就是我得到的:

dotplot of Scheme vs. Area_under_ROC conditioned on Dataset

我想知道的是
  • 如何使 y 轴上的标签可读?现在,他们都挤在一起了。
  • 如何重新排列面板,使标有“100”的数据集形成最后一列,但其他列保持不变?

  • 我非常感谢任何评论或指示。
    非常感谢!

    最佳答案

    一些想法:

  • 对 y 轴标签使用较小的字体大小,例如scale=list(y=list(cex=.6)) 。另一种方法是保持统一的字体大小,但将您的输出分开在几个页面上(这可以用 layout= 控制),或者,可能更好,显示来自同一数据集的所有数据(A 到 F,因此每个算法有 4 个点) 或按样本大小(10 到 100,因此每个算法 6 分)和 group= 选项。我个人会为此创建两个因素,sample.sizedataset.type
  • 重新调整您的因子 Dataset ,以便您感兴趣的数据集出现在 layout 放置它们的位置,或者(更好!)使用 index.cond 为您的 24 个面板指定特定的排列。例如。,
    dfrm <- data.frame(algo=gl(11, 1, 11*24, labels=paste("algo", 1:11, sep="")), 
    type=gl(24, 11, 11*24, labels=paste("type", 1:24, sep="")),
    roc=runif(11*24))
    p <- dotplot(algo ~ roc | type, dfrm, layout=c(4,6), scale=list(y=list(cex=.4)))

    将按顺序排列面板,从左下到右上(左下面板中的 type1,右上面板中的 type24),而
    update(p, index.cond=list(24:1))

    将以相反的顺序排列面板。只需指定具有预期面板位置的 list


  • 这是我对第 1 点的想法以及使用两个因素而不是一个因素的示例。让我们生成另一个人工数据集:
    dfrm <- data.frame(algo=gl(11, 1, 11*24, labels=paste("algo", 1:11, sep="")),
    dataset=gl(6, 11, 11*24, labels=LETTERS[1:6]),
    ssize=gl(4, 11*6, 11*24, labels=c(10,25,50,100)),
    roc=runif(11*24))
    xtabs(~ dataset + ssize, dfrm) # to check allocation of factor levels
    dotplot(algo ~ roc | dataset, data=dfrm, group=ssize, type="l",
    auto.key=list(space="top", column=4, cex=.8, title="Sample size",
    cex.title=1, lines=TRUE, points=FALSE))

    关于r - 微调 R 的点阵包中的点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695704/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com