gpt4 book ai didi

r - 如何更改具有先前条件的向量的值?

转载 作者:行者123 更新时间:2023-12-03 19:42:49 26 4
gpt4 key购买 nike

我有一个逻辑向量vector1 <- c(F,F,T,F,F)我想创建一个 vector2vector1 具有相同的值但是当 vector1[i] == TRUE vector2[i-1], vector2[i] and vector2[i+1]必须也是TRUE .
做这个的最好方式是什么?理想的做法是创建一个函数,因为我将不得不为许多其他向量创建一个函数......

最佳答案

使用 bool 比较的一种方法是:

c(vector1[-1], FALSE) | vector1 | c(FALSE, vector1[-length(vector1)])

值为 TRUE如果前面是 TRUE,则在某个位置, 或者位置是 TRUE或者下一个位置是 TRUE .第一个和最后一个值是边界,没有前一个或下一个值,这就是头寸由 FALSE 完成的原因。 .

对于不止一个职位,这里有两个:
lag <- 2
c(vector1[-(1:lag)], rep(FALSE, lag)) | vector1 | c(rep(FALSE, lag), vector1[-(length(vector1)-lag+1:length(vector1))])
[1] TRUE FALSE TRUE FALSE TRUE

关于r - 如何更改具有先前条件的向量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60650558/

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