gpt4 book ai didi

如果元素为 x 且前一个元素为 na,则在 R 中替换向量中的元素

转载 作者:行者123 更新时间:2023-12-01 00:39:27 26 4
gpt4 key购买 nike

foo <- c("a","a",NA,"b","a","a","b","b")

如果前一个元素是 NA,如何用 whatever 替换“b”?

foo[foo=="b" & "previous-element"==NA] <- "whatever"

所以预期的输出是:

result <- c("a","a",NA,"whatever","a","a","b","b")

因此只有以 NA 开头的“b”(实际数据中很多)会被更改。

谢谢你的帮助!

最佳答案

一个简单的解决方案:

foo[-1][foo[-1] == "b" & is.na(head(foo, -1))] <- "whatever"

更新:

zoo 包中的 rollapply 解决方案:

library(zoo)
foo[-1][rollapply(foo, 2, identical, c(NA, "b"))] <- "whatever"

关于如果元素为 x 且前一个元素为 na,则在 R 中替换向量中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277666/

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