根据不同向量中的值重新编码向量中的变量

Recoding variables in vector based on values in different vector

这里完全是R新手

我有一个广泛的数据框架,其中包括一个 vector/variable for participant_number,每个参与者提供两个响应(分数),以及一个主题内操作(代码)。

enter image description here

但是,我有三组独立的值,对应于三个不同(受试者之间)实验组(例如对照组、active_1、active_2)中的参与者数量。

enter image description here

我如何使用这些值集在我的主数据框中创建一个变量来指示参与者属于哪个实验组?

任何帮助,非常感谢。

“dplyr”包对这类事情非常有用。让我们考虑一个小的工作示例

df <- data.frame(ID=c(1:7))
ListActive1 <- c(1,3)
ListActive2 <- c(2,5)
ListControl <- c(4,7,6)

df 是包含参与者 ID 的主数据框(当然它可能还有其他列,例如分数等)。三个向量包含每个组的参与者 ID对于这个特定的群体,例如ID 为 2 和 5 的参与者属于组“Active2”。

现在我们使用 dplyr 包附带的命令 mutate 在主数据框中创建一个新列(确保安装并加载它)。

df <- mutate(df,group=case_when(
    ID %in% ListActive1 ~ "Active1", 
    ID %in% ListActive2 ~ "Active2",
    ID %in% ListControl ~ "Control"))

命令 case_when 检查每个参与者的 ID 出现在哪个列表中,然后将相应的标签放在新列中 group

  ID   group
1  1 Active1
2  2 Active2
3  3 Active1
4  4 Control
5  5 Active2
6  6 Control
7  7 Control