【发布时间】:2014-05-08 16:51:24
【问题描述】:
我想确定一个向量在 R 中是始终增加还是始终减少。
理想情况下,如果我有这三个向量:
asc=c(1,2,3,4,5)
des=c(5,4,3,2,1)
non=c(1,3,5,4,2)
我希望前两个返回 TRUE,最后一个返回 FALSE。
我尝试了几种方法。首先,我试过了:
> is.ordered(asc)
[1] FALSE
> is.ordered(des)
[1] FALSE
> is.ordered(non)
[1] FALSE
我也试过了:
> order(non)
[1] 1 5 2 4 3
并希望我可以简单地将这个向量与1,2,3,4,5 和5,4,3,2,1 进行比较,但即使这样也会返回一个逻辑字符串,而不是一个单一的真或假:
> order(non)==c(1,2,3,4,5)
[1] TRUE FALSE FALSE TRUE FALSE
【问题讨论】:
-
在 Matlab 中,我会检查向量的
diff是否始终大于零或始终小于零:all(diff(myVec)>=0) || all(diff(myVec)<=0);。我确信r中存在类似的东西。