【发布时间】:2020-12-29 16:28:31
【问题描述】:
在使用 R 整理数据时,我需要您的帮助。
我的原始数据是这样的:
> dput(mydata)
structure(list(subject = structure(c(1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L), .Label = c("N1", "E1"), class = "factor"), item_number = c(1,
2, 1, 7, 1, 2, 2, 10), block = c(1, 1, 3, 3, 1, 1, 3, 3), condition = c("L",
"L", "EI", "I", "L", "L", "EI", "I")), row.names = c(NA, 8L), class = "data.frame")
> mydata
subject item_number block condition
1 N1 1 1 L
2 N1 2 1 L
3 N1 1 3 EI
4 N1 7 3 I
5 E1 1 1 L
6 E1 2 1 L
7 E1 2 3 EI
8 E1 10 3 I
对于某些编程错误,我无法正确标记块 1 中的条件。所以,我试图通过为不同的主题和不同的项目编号重命名块 1 中的条件来调整它。理想情况下,块 1 中任何被赋予值 L 的 item_number 都应该根据在块 3 中赋予相同 item_number 的条件标签重命名。例如,对于主题 N1,如果 item_number 1 存在于块 3 中并且是给定条件标签 EI,则块 1 中 item_number 1 的条件标签应设置为与“EI”相同的标签。如果主题 N1 的块 3 中不存在 item_number 2,则块 1 中的项目编号 2 的条件标签应为“E”。
所需的输出应如下所示:
dput(mydata_cleaned)
structure(list(subject = structure(c(1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L), .Label = c("N1", "E1"), class = "factor"), item_number = c(1,
2, 1, 7, 1, 2, 2, 10), block = c(1, 1, 3, 3, 1, 1, 3, 3), condition = c("EI",
"E", "EI", "I", "E", "EI", "EI", "I")), row.names = c(NA, 8L), class = "data.frame")
> mydata_cleaned
subject item_number block condition
1 N1 1 1 EI
2 N1 2 1 E
3 N1 1 3 EI
4 N1 7 3 I
5 E1 1 1 E
6 E1 2 1 EI
7 E1 2 3 EI
8 E1 10 3 I
非常感谢任何帮助。
【问题讨论】:
标签: r dplyr data-wrangling