gpt4 book ai didi

r - 如何将两个不等长的向量乘以一个因子?

转载 作者:行者123 更新时间:2023-12-02 12:18:32 25 4
gpt4 key购买 nike

我有两个不同长度的数据帧。有一个独特的因素将两个数据框链接在一起。我想将较大数据框中的值乘以较小数据框中的匹配因子。下面是演示代码:

d1 <- data.frame(u = factor(x = LETTERS[1:5]), n1 = 1:5)
d2 <- data.frame(u = factor(x = rep(x = LETTERS[1:5], each = 2)), n2 = 1:10)

我想要 d2[1:2, 2] 都乘以 d1[1, 2] 因为因子“A”匹配,依此类推匹配因素。

最佳答案

对于这个问题,您还可以使用 match,它应该比 merge/transform approach 更有效。 (特别是如果您不需要后者创建的 data.frame):

d2$n2 * d1[match(d2$u, d1$u), 'n1']

# [1] 1 2 6 8 15 18 28 32 45 50

关于r - 如何将两个不等长的向量乘以一个因子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26583200/

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