问题标签 [experimental-design]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
60 浏览

r - 用于操作性田间实验设计的 R 函数 - 植物生态学

我是一名植物生态学家,我想设计一个现场操作实验。为了在实验地块内的植物布置中实现良好程度的随机化,我想使用 R(我很熟悉)。

图片是设计的示意图:总共将有 6 个地块,每个地块包含 24 种不同的植物物种。我总共有 36 种植物,我想从每个地块中随机抽取 24 种植物(地块之间的差异很大)。每个物种应出现在 6 个地块中的 4 个,但位置不同,沿边界两次(两种暖色)和两次在核心区域(每种冷色一次);在图片中,我使用 4 个不同的物种(A、B、C、D)直观地解释了我的意思。

任何人都可以提出一种方法或一些见解来编写函数吗?

情节设计

0 投票
1 回答
86 浏览

r - 将治疗随机分配到一组中的一半

我正在为实验随机分配治疗方法。我有四个站点(站点 1,...站点 4),其中 12 个实验单元(例如,1 ... 12)被复制四次(例如,1 ... 4)。对于每个重复,我随机分配了三种处理方法之一(例如,trt1 ...trt3)。

我现在需要为我的每个站点的复制中的每个处理分配一个 SecondTreatment(y 或 no)。trt2 应始终为“y”,而我想将“y”随机分配给 trt1 的一半,将“n”分配给 trt1 的另一半,然后对 trt3 执行相同的操作。每个 Replicate 都应该给我:trt2 有 4 个“y”,trt1 有 2 个“n”,trt3 有 3 个“n”。

我的数据如下所示:

我希望能够以一种使这些分配回到数据框的方式来做到这一点,这样我就不必手动移动任何东西。我仍然是编程的新手,不知道如何做到这一点。

谢谢!

0 投票
1 回答
1117 浏览

javascript - 用 requestAnimationFrame() 替换 setTimeout()

我是一名实验心理学博士生,由于 COVID-19,我们必须在线切换所有实验。我也不太了解Javascript。

问题是我们通常会在短时间内(例如 200 毫秒)呈现刺激,并且我们需要最少的可变性,因此我们通常与显示器刷新率同步。

我对 Javascript 的有限理解是它setTimeout()不依赖于监视器帧(因此应该显示 200 毫秒的刺激实际上可能在屏幕上比这个持续时间长),这requestAnimationFrame()会更精确。但是,过去几天我一直在尝试了解如何使用requestAnimationFrame()而不是setTimeout()但无济于事,我发现的所有教程都是用于显示动画刺激。这是我现在用来处理实验流程的代码片段。

您是否知道如何将所有这些讨厌的东西转换setTimeout()requestAnimationFrame()(或至少比 更好的东西setTimeout())?:)

$presentation使用$fixationgenerateTrial(current_trial).

感谢您的帮助!

最好的问候,马丁康斯坦特。

0 投票
0 回答
147 浏览

python - python中带有约束的广义子集设计

我有三个F1, F2, F3具有3, 3, 6相应水平的因素,我想限制它们组合的数量进行实验设计。

据我通过搜索看到,这可以通过pyDOE2广义子集设计来完成,例如:

但是,我想做的是对因素水平的可能组合设置一些限制。例如,我不想要包含 F1L1 和 F2L3 或 F2L1 和 F3L2 的组合(F 代表因子,L 代表水平)。考虑到这些约束,有没有办法获得最佳的简化组合?

这不是 pyDOE2 特定的问题(任何其他可以实现这一点的库都可以),但我想用 python 来做。

0 投票
1 回答
336 浏览

r - ggplot2的主效应图

我是 R 和 ggplot2 的新手。我想为我所做的全因子实验创建一个主效应图。

该图应采用低水平的平均值,并绘制一条线到高水平的平均值。到目前为止,我能够使用 stat_summary() 创建方法,但我无法弄清楚如何在省略中心点的同时连接它们。

现在我只是在使用 geom_smooth(),这并不理想。

编辑:

我被要求提供一些数据。

0 投票
0 回答
77 浏览

r - R中有没有一种方法可以从列表中绘制而不用绘制的值替换不可用于后续绘制?

我想用用户定义列表中的值填充一个矩阵(这部分还不重要)。从这些列表中选择应该是随机的,没有替换,直到列表用完。

例如,如果我们有 list_1 <- c(1,2,3) 和 list_2 <- c('a', 'b', 'c')

矩阵的 (1,1) 元素是从分配了 2 的 list_1 中提取的。(1,2) 元素从 list_1 中提取并分配为 3(2 不可用,因为它已被分配)。(1,3) 元素从 list_2 中提取并分配为“b”。元素 (2,1) 也从 list_1 中提取并分配为 2,因为这是 list_1 中唯一剩余的元素。这将一直持续到矩阵中的所有元素都被分配了一个值。矩阵中的元素数量与列表中的元素数量相同(总计)。

鉴于矩阵的结构,我不能简单地使用 C() 函数来组合多个向量并在每个向量中随机化。

由于本人是R新手,以上解释不清楚还请见谅。

提前感谢您的帮助。

编辑:矩阵中特定位置的基本原理是矩阵代表实验设计。矩阵中的每个位置可能代表一小块土壤。每个列表可能代表不同类型的种子,并且每个列表中的元素会根据种子类型变化。List_1 可能包含所有花卉种子(Rose、Daisy 等),List_2 可能包含所有草本种子(Parsley、Origano 等)。我想限制可以在特定地块种植的种子类型。然后从种子列表中随机选择实际分配给该地块的种子。一些地块允许包含随机分配的花卉种子,但不能包含草本种子。

因为我不想最终得到所有玫瑰,例如,一旦将玫瑰种子分配给地块,则应从列表中删除该种子选项。

例如,(1,1) 可能是一个“花”图,在此过程之后,将从花列表中随机选择一个种子,并将一个雏菊种子分配给 (1,1)。然后我们继续下一个“花”图,但现在雏菊种子不能用于分配,因为它不在列表中(因为它已经分配给 (1,1))。

我希望这更有意义。

0 投票
1 回答
73 浏览

r - 更改 R 中线性模型中使用的调节变量?(双向方差分析)

我正在 R 中执行双向 ANOVA 来分析实验。我有一长串调节变量需要在模型中为我的合作伙伴公司进行测试(主要是数字、连续尺度项目测量)。

这将是实验的基本模型(没有主持人):

我想知道是否有一种快速的方法可以定义调节变量列表,然后“交换”感兴趣的调节变量(可能使用函数),其中“调节器”定义如下:

因此,例如,该函数将与某个主持人(例如用户年龄)一起运行模型并打印/保存结果,然后与另一个主持人(例如用户隐私关注级别)再次使用它并打印/保存结果,等等在。

这样我就可以避免手动复制和粘贴他们感兴趣的大约 50 个调节变量。

任何提示将非常感谢!.

小提示:我知道在没有理论原因的情况下在模型中使用许多调节变量可能并不完全科学……但公司要求这样做)

0 投票
0 回答
94 浏览

r - 使用 lme 将重复测量的复合对称结构从 SAS 复制到 R

我正在尝试将 Milliken 的论文中的分析(https://sci-hub.tw/10.1016/s0169-7161(03)22007-1,第 8 节)从 SAS 代码复制到 R。我很困惑老实说。这是一个裂图重复测量设计,其中相关结构是复合对称结构。下面是数据和 SAS 代码及其结果。

数据

SAS 代码

SAS 输出
在此处输入图像描述

R代码尝试

在这一点上,我被困在如何向posit因子中添加重复结构。

感谢您的帮助!

0 投票
1 回答
288 浏览

r - 您如何在 R 中运行编译器平均因果效应 (CACE) 分析?

语境

在进行随机对照试验 (RCT) 时,一些参与者被随机分配到治疗条件,而其他参与者则被分配到对照组。然而,并非每个分配到治疗的人都可能遵循治疗方案(称为“治疗依从性”)。

根据Sagarin 等人的说法。(2014),解决这个问题的一种明智方法是使用编译器平均因果效应 (CACE),有时也称为局部平均处理效应 (LATE)。根据Wikipedia的说法,它是“当且仅当它们被分配到治疗时,接受治疗的样本子集的治疗效果,否则称为编译器。” 换句话说,如果分配到治疗组的一部分参与者没有遵循治疗方案,这将是有用的。

问题

您如何在 R 中运行此分析?

我无法从 Google 和 stackoverflow 搜索中找到任何准确的信息。

此外,尽管我阅读了很多资料,但我仍然无法弄清楚预期的结果应该是什么。使用 CACE 时,结果如何?您是否最终获得了针对治疗不依从性进行调整的更新分数/数据,您可以将其插入您的常规分析(类似于因子分数)?或者你只是得到一些你必须做的事情?

我试过的

eefAnalytics似乎为此提供了最方便的功能:caceSRTBoot(). “caceSRTBoot 对简单的随机教育试验进行探索性 CACE 分析。” 它允许通过简单的合规百分比来指定合规性(非常简单方便)。

但是,我在安装 eefAnalytics 包时遇到了一些问题,同时尝试对其进行测试以查看它提供的输出类型:

经过仔细调查,Cran 说:“软件包‘eefAnalytics’已从 CRAN 存储库中删除。”

我看过的其他包(例如1 , 2 , 3 , 4)似乎很复杂,我无法弄清楚(例如,它们没有用于 % 合规性的参数,我在制作它们时遇到了麻烦“运行此示例”小部件工作)。还有其他用户友好的软件包吗?有没有其他方法可以在 R 中进行这种分析?有人会有某种“教程”吗?

相关页面:1

0 投票
0 回答
160 浏览

javascript - Qualtrics 中的 Javascript:无法保存 JS 生成的嵌入字段?

我在 Qualtrics 中实现了一个实验,我使用 Javascript 从数组中为多个“属性”绘制随机值并随机化属性的顺序。简而言之,我采用随机绘制的值,将这些值放入它们自己的数组中,然后将新数组中的值打乱,并将它们作为字符串保存在嵌入的数据字段中。一个复杂性是随机抽取的两个属性(种族和性别)的值不会呈现给参与者,而是用于为属性(名称)创建一组可能的值,这些属性(名称)的值将呈现给参与者。

对于大多数调查对象,我的代码按预期工作,但有时我导出的数据显示有人已经到达运行 Javascript 的页面,但嵌入的数据字段(例如,我的示例中的“attr_viewed_names_string”和“attr_all_id_string”)为空。我已经通过移动设备和桌面设备多次完成了我的调查,但无法复制导致这些嵌入字段的值无法出现在我的数据中的过程。最大的问题是我不知道(a)代码是否实际上没有生成字符串,或者(b)字符串没有保存到嵌入字段。

下面是我在调查的第一页上实施的简化版本,用于创建字符串并保存它们。我是否错过了一些代码无法保存属性名称字符串的场景(例如“name|religion|race|gender”)