gpt4 book ai didi

r - 查找值是否是 R 中的下一个值更大或更小

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

我有以下 R 代码:

y <-round(runif(100, min=0, max=800))
for(i in y) {
if((i+1)>i) print("bigger")
if((i+1)<i) print("smaller")
}

我想知道列表中的下一个数字是更大还是更小。它总是打印得更大。我想是因为我做错了。任何帮助都会很棒..谢谢

最佳答案

您可以为此使用diff

yd <- diff(y)
ifelse(yd > 0, print('bigger'), print('smaller'))

你的 for 循环总是打印更大的原因是因为 i 总是小于 i+1...看看你在问什么...你的意思是y[which(y==i) + 1] > i 之类的……如果你必须使用循环,你可以这样做:

for (i in seq_along(y)) {
if (y[i+1] > y[i]) {
print('bigger')
} else {
print('smaller')
}
}

但是,在我看来,使用 diff 的矢量化版本会更高效且更容易理解。

关于r - 查找值是否是 R 中的下一个值更大或更小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21434970/

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