【发布时间】:2022-09-23 00:51:39
【问题描述】:
我有一个数据集,其中包含两个父母和 300 多个后代的遗传信息。我正在尝试根据该行中父母的值来更改后代的行值,这样
P1 P2 o1 o2 o3
1 A T A T AT
2 C A CA A C
3 G C G G C
4 T C C TC CT
变成
P1 P2 o1 o2 o3
1 A T a b h
2 C A b b a
3 G C a a b
4 T C b b h
其中后代中的 \'a\' 表示它类似于 P1,\'b\' 表示 P2,而 \'h\' 表示两者都有。为了方便起见,我已经将父列从后代中拆分出来(分别为父母和测试),但我的循环不起作用或将整行更改为 NA。我一直在尝试使用以下代码解决重新编码到 \'a\' 和 \'b\' 的问题:
for (i in 1:nrow(Test)) {
if (Parents[i, 1] == \"A\") {
Test[Test[i, ] == \"A\"] <- \"a\"
} else
if (Parents[i, 2] ==\"A\") {
Test[Test[i, ] == \"A\"] <-\"b\"
}
}
我会很感激任何帮助,我拼命地试图避免手工这样做。谢谢你。