diff()に類似の機能がありますが、これは違いを見つける代わりに連続する要素を分割していますか?ベクトルの各要素を次の要素で割る
x = c(10,8,4,-1)
some_function(x)
# [1] 1.25 2.00 -4.00
diff()に類似の機能がありますが、これは違いを見つける代わりに連続する要素を分割していますか?ベクトルの各要素を次の要素で割る
x = c(10,8,4,-1)
some_function(x)
# [1] 1.25 2.00 -4.00
私は基本R.で利用可能なそのようなことはないと思うしかし、あなたは独自のソリューションを作成しようとすることができ、このような
unlist(sapply(2:length(x), function(i) x[i-1]/x[i]))
# unlist (sort of) takes care of when x has less than 2 elements
OR
x[-length(x)]/x[-1]
dplyr
で別のオプションとして、使用していますlag
library(dplyr)
lag(x)/x
#[1] NA 1.25 2.00 -4.00
あなたがNA
を削除したい場合は、単に
y = lag(x)/x
y[-1]
#[1] 1.25 2.00 -4.00
は感謝んが、おそらく利用できるものがあるときも同様に、なぜあなた自身を構築しますか? –
明示的なループはありません。 'tail(x、-1)/ head(x、-1)'を呼び出すか、 '['で直接インデクシングを行います。 – joran