以下代码将test
拆分为减少,增加或无变化后的数字。
test <- c(1,2,3,4,5,5,4,1,2,3)
ifelse(diff(test)>0, "up", ifelse(diff(test)<0, "down", "no change"))
[1] "up" "up" "up" "up" "no change" "down" "down" "up" "up"
但是,我需要"up"
,"down"
或"no change"
来反映更改前的数字,而不是获取更改结果。
例如,上面设置中的最后一个1
会启动,因为它后跟一个更高的数字。
我尝试了各种滞后,但因为它没有改变if
语句的逻辑,所以它没有奏效。有没有办法做到这一点?
编辑:
预期输出类似于上面示例中显示的输出,但由于没有前导,因此不会丢弃第一个数字,而是排除了最后一个数字,因为它后面没有任何变化。
真的希望有道理,但如果不是,我会尽力澄清。
答案 0 :(得分:2)
x
返回长度小于diff(x)[i]=x[i+1]-x[i]
的数组,以便c("no change", result)
。是否要在i + 1&#34;之前考虑这个变化。或改变&#34;在我之后#34;没有区别,它仍然是相同的价值。
如果你想获得一个与你的输入相同长度的数组,对于你的情况,可以尝试c(result, "no change")
或$('#gallery a').click( function() {
var id = $(this).attr('id'); // Id of the current selection
var current = 0; // Array index of the current item
getTpl() // Get and load lightbox template
.then(getData) // Get JSON data of the selected item
.then(getItem) // Pass JSON data and get the item
.then(loadItem) // Use JSON data to create the HTML output
.done(function() {
// Wrap everything up, intialize the lightbox controls
// (requires the JSON data) and load the lightbox
});
});
,这会将结果填充到与输入相同的长度,并且表示&#34;没有变化&#34;在第一次进入之前发生,或者没有变化&#34;在最后一次进入后发生。我无法弄清楚哪一个是你想要的那个,但它应该是两个中的一个。