gpt4 book ai didi

algorithm - 此合并和填充操作的功能/算法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:13 28 4
gpt4 key购买 nike

我编写了 R 代码,它根据第一列合并两个数据框,并为缺失的数据添加上面的值。这是它的作用:

两个输入数据框:

1 a
2 b
3 c
5 d

1 e
4 f
6 g

我的代码给出了这个输出:

   1 a e
2 b e
3 c e
4 c f
5 d f
6 d g

但是我的代码效率低下,因为它没有正确矢量化。有一些我可以使用的 R 函数吗?基本上我正在寻找的一个函数是填充缺失值/NA 值并从前一个元素中获取值并将其放在 NA 的位置。

我翻遍了R的引用书,但找不到任何东西。

最佳答案

这是一个使用 zoo::na.locf

的解决方案
library(zoo)

a <- data.frame(id=c(1,2,3,5), v=c("a","b","c", "d"))
b <- data.frame(id=c(1,4,6), v=c("e", "f", "g"))

n <- max(c(a$id, b$id))

an <- merge(data.frame(id=1:n), a, all.x=T)
bn <- merge(data.frame(id=1:n), b, all.x=T)

an$v <- na.locf(an$v)
bn$v <- na.locf(bn$v)


data.frame(an$id, an$v, bn$v)
an.id an.v bn.v
1 1 a e
2 2 b e
3 3 c e
4 4 c f
5 5 d f
6 6 d g

关于algorithm - 此合并和填充操作的功能/算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12858503/

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