- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:
我正在尝试使用 R 生成随机研究设计,其中一半的参与者被随机分配到“治疗 1”,另一半被分配到“治疗 2”。但是,因为一半的受试者是男性,一半是女性,并且我还想确保相同数量的男性和女性接受每种治疗,所以应该将男性和女性的一半分配给“治疗 1”,剩下的一半应分配给“治疗 2”。
这种设计有两个并发症:(1)这是一项为期一年的研究,必须每天分配参与者进行治疗; (2) 每个参与者必须在 28 天内至少接触“治疗 1”10 次。
这甚至可以在 R 界面中实现自动化吗?我认为是这样,但我认为我作为 R 程序员的初学者身份禁止我自己找到解决方案。几天来,我一直在努力弄清楚如何实现这一点,并且查看了该网站上许多听起来相似但无法在此处成功应用的帖子。我希望有人知道一些技巧可以帮助我解决这个问题,任何建议将不胜感激!
我尝试过的:
具体信息
# There are 16 participants
p <- c("P01", "P02", "P03", "P04", "P05", "P06", "P07", "P08", "P09", "P10", "P11", "P12", "P13", "P14", "P15", "P16")
# Half are male and half are female
g <- c(rep("M", 8), rep("F", 8))
# I make a dataframe but this may not be necessary
df <- cbind.data.frame(p,g)
# There are 365 days in one year
d <- seq(1,365,1)
最佳答案
考虑使用 by
按日期和性别拆分数据框,然后使用 replicate
运行足够的样本在 100 次中选择一种治疗平衡的方法:
资料
df <- merge(data.frame(participant = p, gender = g),
data.frame(days = seq(1,365)),
by=NULL)
df_list <- by(df, list(df$gender, df$days), function(sub){
t <- replicate(100, { # RUN 100 REPETITIONS OF EXPRESSION
s <- sample(c("T1", "T2"), size=nrow(sub), replace=TRUE) # SAMPLE "T1" AND "T2" BY SIZE OF SUBSET
s[ sum(s == "T1") == sum(s == "T2") ] # FILTER TO EQUAL TREATMENTS
})
t <- Filter(length, t)[[1]] # SELECT FIRST OF SEVERAL NON-EMPTY RETURNS
transform(sub, treatment = t) # ASSIGN RESULT TO NEW COLUMN
})
# BIND DATA FRAMES AND RESET ROW.NAMES
final_df <- data.frame(do.call(rbind.data.frame, df_list), row.names=NULL)
head(final_df, 16)
# participant gender days treatment
# 1 P09 F 1 T1
# 2 P10 F 1 T2
# 3 P11 F 1 T2
# 4 P12 F 1 T1
# 5 P13 F 1 T2
# 6 P14 F 1 T2
# 7 P15 F 1 T1
# 8 P16 F 1 T1
# 9 P01 M 1 T1
# 10 P02 M 1 T1
# 11 P03 M 1 T2
# 12 P04 M 1 T2
# 13 P05 M 1 T2
# 14 P06 M 1 T1
# 15 P07 M 1 T1
# 16 P08 M 1 T2
tail(final_df, 16)
# participant gender days treatment
# 5825 P09 F 365 T2
# 5826 P10 F 365 T2
# 5827 P11 F 365 T1
# 5828 P12 F 365 T2
# 5829 P13 F 365 T1
# 5830 P14 F 365 T2
# 5831 P15 F 365 T1
# 5832 P16 F 365 T1
# 5833 P01 M 365 T1
# 5834 P02 M 365 T2
# 5835 P03 M 365 T1
# 5836 P04 M 365 T2
# 5837 P05 M 365 T2
# 5838 P06 M 365 T2
# 5839 P07 M 365 T1
# 5840 P08 M 365 T1
reshape
带有助手和清理处理:
# HELPER OBJECTS
final_df$participant_gender <- with(final_df, paste0(participant, gender))
new_names <- paste0(p, g)
# RESHAPE WIDE
wide_df <- reshape(final_df, v.names = "treatment", timevar = "participant_gender",
idvar="days", drop = c("gender", "participant"),
new.row.names = 1:365, direction = "wide")
# RENAME AND RE-ORDER COLUMNS
names(wide_df) <- gsub("treatment.", "", names(wide_df))
wide_df <- wide_df[c("days", new_names)]
head(wide_df)
# days P01M P02M P03M P04M P05M P06M P07M P08M P09F P10F P11F P12F P13F P14F P15F P16F
# 1 1 T1 T1 T2 T2 T2 T1 T1 T2 T1 T2 T2 T1 T2 T2 T1 T1
# 2 2 T1 T1 T2 T1 T2 T1 T2 T2 T1 T2 T2 T1 T2 T2 T1 T1
# 3 3 T1 T1 T2 T1 T1 T2 T2 T2 T1 T2 T2 T2 T1 T2 T1 T1
# 4 4 T1 T1 T1 T2 T2 T2 T1 T2 T2 T1 T1 T2 T2 T1 T1 T2
# 5 5 T1 T1 T2 T1 T2 T2 T1 T2 T1 T1 T2 T1 T2 T2 T1 T2
# 6 6 T2 T1 T1 T1 T2 T2 T1 T2 T2 T2 T2 T1 T2 T1 T1 T1
关于r - 每天使用 R 随机分配参与者进行治疗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62109443/
我需要并行处理多个数据值(“SIMD”)。我可以使用 java.util.concurrent API (Executors.newFixedThreadPool()) 使用 Future 实例并行处
说未引用的参与者仍然订阅事件流是否正确?至少,这是我从 Akka 实验中得到的…… 我正在尝试在 EventBus 场景中为参与者实现弱引用。在这些情况下,事件监听器/参与者通常来来去去。与应该一直在
场景:我有这个代码: class MyActor extends Actor { def act() { react { case Message() => printl
我正在尝试对一条新闻帖子进行建模,其中包含有关发布该新闻的用户的信息。我认为最好的方法是发送用户摘要信息以及创建新闻帖子的消息,但我有点困惑如果底层用户信息发生变化如何更新该摘要信息。现在我有以下 N
开始学习Actor模型(使用Akka.net),打算在现在的项目中使用。我当前的任务是使用 IFilter 从不同的文件中提取文本。 IFilter 是一组带有 native 代码的 COM 服务器。
我在我的 Linux 服务器上安装了 openfire(版本:Openfire 3.9.3)。它在 2 天前工作正常,具有所有功能。我专注于存档消息插件。什么是问题: 1.当我开始与用户聊天时,它显示
感谢阅读这个问题。我有一个包含 5 个参与者的数据集,其中 10 个参与者有 8 个变量。我需要将数据集的每个参与者/行导出到一个单独的 pdf 文件中,并根据参与者名称为导出的 pdf 文件命名。附
在 Twilio REST API 中,是否可以检索已完成 session 的参与者列表?我试图在 session 结束时计算每个参与者的通话时长。我在 session 创建时传递了一个“ Actio
当使用 LDAP 存储实现 RBAC 模型时(我使用 Apache Directory 1.0.2 作为测试平台),一些参与者显然可以映射到特定的对象类: 资源 - 我没有看到此资源的清晰映射。 ap
我需要将数千个不同格式的 ms office 文档转换为一种通用格式。为了加快速度,我会使用 akka.net 将其并行化。 WordSaveAsActor 应该: 在单线程单元中运行 持有 Word
现在我们的 ASF 集群正在运行: Web API 项目 - 无状态且面向公众 Actor 项目 - 主要是 volatile 的,将数据保存在内存中,由某些 API 使用 我们正在试用 Applic
我在 R 中有一个 data.frame,其中一列指示实验中的参与者 subject,另一列指示 condition、trial_type 和最后一列,我的数字因变量 rt. 这是我使用 dput()
APARAPI project self 描述为: Aparapi allows Java developers to take advantage of the compute power of G
我正在使用 Vidyo.io 服务将视频 session 集成到我的 Android 应用程序中。我已经能够使用 android-vidyo-sdk 附带的 VidyoConnector 示例应用程序
只是一个小介绍: 有任务(任务表) 有用户(用户表) 用户可以参与不同的任务(task_has_user表) 参与者分为作者、实现者、检查者等。 我想获取以逗号分隔的参与者的所有任务列表,如下所示(数
我正在尝试实现 JUnit 测试来测试参与者。 我有这个 ActorTest : import org.junit.Test; import play.libs.Akka; import playte
我是一名优秀的程序员,十分优秀!