【发布时间】:2021-11-16 07:34:14
【问题描述】:
我正在处理我在 R 中的第一个数据集,如果这是一个愚蠢的问题,请原谅,但我已经为此苦苦挣扎了好几天。
我的数据如下所示:
library(tidyverse)
tb1 <- tibble(ID = c(1,2,3,4,5),
Quest_MF_1_1 = c(1,2,2,1,2),
Quest_MF_1_2 = c(1,2,2,1,2),
Quest_MF_2_1 = c(2,3,3,2,1),
Quest_MF_2_2 = c(1,3,4,1,2),
Quest_MV_1_1 = c(1,2,4,1,2),
Quest_MV_1_2 = c(1,2,2,1,2),
Quest_MV_2_1 = c(2,3,5,2,2),
Quest_MV_2_2 = c(1,3,4,1,2))
tb_long <- tb1 %>% pivot_longer(
cols = 2:8,
names_to = c("Questionnaire", "Question", "Timepoint"),
names_pattern = "Quest_(.*)_(.*)_(.*)",
values_to = "score")
我想重新编码 MF_2 和 MV_1 的所有分数(5=1、4=2、3=3、2=4、1=5),同时保持其他值不变。我尝试将mutate 和if_else 结合起来,但我无法弄清楚如何保持其他问题的分数不变。关于如何做到这一点的任何想法?
在我的实际数据集中,我有两个问卷,每个问卷有 20 个和 30 个问题,在 20 个不同的时间点进行测量。对于每份问卷中大约一半的问题,我需要重新编码 te 分数。
【问题讨论】:
-
是否应该在长数据集上完成
标签: r if-statement conditional-formatting dplyr recode