r - 如何在 R 中创建部分因子设计?

标签 r statistics

我正在努力使用 R 创建一个相当复杂的部分因子设计。

(参见 http://en.wikipedia.org/wiki/Fractional_factorial_design )

我搜索了 Google 和 R 列表,并检查了几个有前途的软件包(AlgDesign、DoE.base、acepack)

但我还没有找到任何可以处理具有 8 个因子(每个因子有 3、4、6 或 11 个水平)的分数设计(仅对主效应感兴趣)的东西!

有人能指出我正确的方向吗?

谢谢!

最佳答案

我已经使用了包AlgDesign生成部分因子设计:

  1. 使用函数 gen.factorial() 生成完整的因子设计.
  2. 将结果传递给optFederov() - 这将尝试使用 Federov 算法找到最佳的分数设计。

以下代码在我的 Windows 笔记本电脑上运行大约需要 3 分钟。该示例找到近似最佳的部分因子设计,其中包含 8 个因子,每个因子有 3、4、6 或 11 个水平(如您所指定)。

请注意,我使用 optFederov(..., approximate=TRUE) - 这找到了一个近似解。在我的机器上,当我设置approximate=FALSE时代码运行时间太长,Windows 会抛出异常。您可能希望尝试不同的设置。

library(AlgDesign)

levels.design = c(3,4,6,11,3,4,6,11)
f.design <- gen.factorial(levels.design)

fract.design <- optFederov(
        data=f.design,
        nTrials=sum(levels.design),
        approximate=TRUE)

输出:

head(f.design)

  X1 X2 X3 X4 X5 X6 X7 X8
1 -1 -3 -5 -5 -1 -3 -5 -5
2  0 -3 -5 -5 -1 -3 -5 -5
3  1 -3 -5 -5 -1 -3 -5 -5
4 -1 -1 -5 -5 -1 -3 -5 -5
5  0 -1 -5 -5 -1 -3 -5 -5
6  1 -1 -5 -5 -1 -3 -5 -5


fract.design
$D
[1] 6.813321

$A
[1] 0.375804

$Ge
[1] 0.998

$Dea
[1] 0.998

$design
       Rep.. X1 X2 X3 X4 X5 X6 X7 X8
1          1 -1 -3 -5 -5 -1 -3 -5 -5
10         1 -1  3 -5 -5 -1 -3 -5 -5
...
626475     1  1 -3 -5 -5  1  3  5  5
627253     1 -1 -3  5  5  1  3  5  5

$rows
 [1]      1     10     61    723    790   1596   2307   2314   2365   2374
[11]   2376   7129   7140   7198   7849   7911   7918   7920   8713   8724
[21]   9433   9504  48252  48301  48303  49105  49107  49114  49174  54660
[31]  54711  56233  56304 570241 570963 571834 571836 572556 578151 579015
[41] 617821 617823 619414 620127 620134 625618 626475 627253

关于r - 如何在 R 中创建部分因子设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5044876/

相关文章:

c# - C# 中的互相关代码

r - cv.glmnet 是否通过使用完整的 lambda 序列过度拟合数据?

python - 如何使用库函数 scipy.stats.binom.pmf 返回给定概率的二项分布中的试验次数 (n)?

regex - 如何在R中精确匹配正则表达式并提取模式

r - 尝试使用 dplyr 到 group_by 并应用 scale()

r - 将 gganimate 与 tweenr 一起使用时绘制标题

r - 给定 0-1 序列中所有大小为 3 的子序列的频率?

r - 在 R 中跨多行匹配文本

r - 带有散点图的散点图矩阵用于分类数据

python - 使用 CURVE_FIT 在 Python 中拟合对数正态分布