我正试图仅对我的参与者数据的子集进行反向重新编码(例如,1到5,5到1,等等),同时保留所有行:对于那些表示母语为英语的人.由于我的数据集相当大,我希望避免将其分为两个数据集(第一语言为英语的人,以及那些第一语言为其他第一语言的人),然后try 将参与者ID的结果复制粘贴到一个数据帧中.
这里有一个小例子来说明这一点:
data1 <- data.frame(primary_school=c(1,2,1,3,4,5,2,1,2,1,3,1,3,3,1,1,4,2,5,1), high_school=c(1,2,3,4,5,1,2,1,1,3,1,3,1,2,3,3,4,2,1,2), relatives=c(1,2,3,4,5,5,2,5,5,3,1,3,5,2,3,3,4,2,1,5),home=c(3,2,3,3,4,5,3,3,2,1,3,1,3,3,3,1,3,2,3,3), siblings=c(1,1,1,4,1,1,2,1,1,3,1,1,1,1,1,1,4,2,1,1), Language_A=c("English","English","English","Tamil","French","Malay","Romanian","English","Quechua","Zapotec", "English","English","English","Tamil","French","Malay","Romanian","English","Quechua","Zapotec"),L1=c("English","English","English","Tamil","French","English","English","English","Quechua","Zapotec","English","English","English","Tamil","French","Malay","Romanian","English","Quechua","Zapotec"))
> data1
primary_school high_school relatives home siblings Language_A L1
1 1 1 1 3 1 English English
2 2 2 2 2 1 English English
3 1 3 3 3 1 English English
4 3 4 4 3 4 Tamil Tamil
5 4 5 5 4 1 French French
6 5 1 5 5 1 Malay English
7 2 2 2 3 2 Romanian English
8 1 1 5 3 1 English English
9 2 1 5 2 1 Quechua Quechua
10 1 3 3 1 3 Zapotec Zapotec
11 3 1 1 3 1 English English
12 1 3 3 1 1 English English
13 3 1 5 3 1 English English
14 3 2 2 3 1 Tamil Tamil
15 1 3 3 3 1 French French
16 1 3 3 1 1 Malay Malay
17 4 4 4 3 4 Romanian Romanian
18 2 2 2 2 2 English English
19 5 1 1 3 1 Quechua Quechua
20 1 2 5 3 1 Zapotec Zapotec
我最初try 使用filter
,但很快发现它只对L1为英语的人的样本进行子集和拆分(因此满足(!(Language_A =="English" | L1 == "English")
),而我想保留所有行:
testtest<- data1 %>%
filter(!(Language_A =="English" | L1 == "English")) %>%
mutate_at(c("primary_school","high_school", "siblings","relatives","home"),
funs(recode(., "1"=5,"2"=4, "3"=3, "4"=2, "5"=1)))
有没有类似的功能可以保存所有的数据?
我也try 了类似下面的方法,但它似乎对我想使用的参数不满意.
testtest<- data1 %>%
if (Language_A !="English" | L1 != "English"){
mutate_at(c("primary_school","high_school", "siblings","relatives","home"),
funs(recode(., "1"=5,"2"=4, "3"=3, "4"=2, "5"=1)))
} else ()
我看到人们用case_when
解决类似的问题,但它似乎主要用于在不同的情况下将一个单一的值变成另一个单一的值.因此,我甚至不确定如何将其应用于在单个情况下Mutations 多个值.
任何 idea 都将不胜感激.谢谢!