gpt4 book ai didi

r - 标记数字向量中值高于或低于特定阈值的位置

转载 作者:行者123 更新时间:2023-12-04 11:14:49 25 4
gpt4 key购买 nike

我不确定如何描述这个问题,所以我只想在这里写一些代码来说明我想要实现的目标。

numberVector = c(56,23,10,26,11,9,33,60,71,1)
xaxisVector = c(1:length(numberVector))
booleanVector = c(FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE)
plot(xaxisVector,numberVector)
abline(a=50,b=0,col="red")
points(xaxisVector[booleanVector],numberVector[booleanVector],col="blue",pch=20)

如您所见,上面的代码生成了如下图所示的图表。

如您所见,每当 numberVector 中的值从高于 50 的值变为低于 50 的值时,我都会用蓝色突出显示该点。 (例如从 56 到 23,突出显示 23)同样,每当 numberVector 中的值从低于 50 的值变为高于 50 时,我都会用蓝色突出显示该点。 (例如从 33 到 60,突出显示 60)

我在 booleanVector 中手动输入了 bool 值。但是,如果给定任何向量(如 numberVector),我将如何生成这样的 bool 向量?

Example graph

最佳答案

我们可以看看负五十符号的不同。例如

booleanVector2 <- c(FALSE, diff(sign(numberVector-50))!=0)
all(booleanVector==booleanVector2)
# [1] TRUE

sign(x-50) 基本上可以跟踪它是在线上方还是下方。 diff() 查看值对之间的差异以查找更改。我们添加了一个 FALSE,因为我们假设第一个值从该行的一侧开始。

关于r - 标记数字向量中值高于或低于特定阈值的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43336769/

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