gpt4 book ai didi

r - 从与变量匹配的另一列中查找值

转载 作者:行者123 更新时间:2023-12-01 07:52:22 24 4
gpt4 key购买 nike

我有一个看起来像的数据框:

animal_id   trait_id    sire_id dam_id
1 25.05 0 0
2 -46.3 1 2
3 41.6 1 2
4 -42.76 3 4
5 -10.99 3 4
6 -49.81 5 4

我想创建另一个变量,其中包含每个“sire_id”和“dam_id”的“trait_id”估计值。

所有的公牛 (sire_id) 和母牛 (dam_id) 也都出现在animal_id 列中。所以我想要做的是在 trait_id 中寻找他们的度量,并在新变量中重复这个变量。

我想要的结果是:
animal_id   trait_id    sire_id trait_sire  dam_id  trait_dam
1 25.05 0 NA 0 NA
2 -46.3 1 25.05 2 -46.3
3 41.6 1 25.05 2 -46.3
4 -42.76 3 41.6 4 -42.76
5 -10.99 3 41.6 4 -42.76
6 -49.81 5 -10.99 4 -42.76

任何建议将不胜感激。

最佳答案

您可以使用 match ; match(col, df$animal_id)给出 animal_id 中来自 col 的元素的相应索引,可进一步用于定位 trait 的值:

df[c("trait_sire", "trait_dam")] <- 
lapply(df[c("sire_id", "dam_id")], function(col) df$trait_id[match(col, df$animal_id)])

df
# animal_id trait_id sire_id dam_id trait_sire trait_dam
#1 1 25.05 0 0 NA NA
#2 2 -46.30 1 2 25.05 -46.30
#3 3 41.60 1 2 25.05 -46.30
#4 4 -42.76 3 4 41.60 -42.76
#5 5 -10.99 3 4 41.60 -42.76
#6 6 -49.81 5 4 -10.99 -42.76

关于r - 从与变量匹配的另一列中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43349709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com