R の 2 つのベクトルの増分を比較する関数を作成したいと考えています。この関数は、2 つのベクトルが一緒に増加または減少している回数の割合を返します。
次の関数を作成し、ベクトルでテストしました。
x=c(1,3,5,6,7)
y=c(1,5,6,8,7)
結果は0.75になるはずですが、呼び出すとcorrel(x,y)
エラーが発生します
Error in if ...missing value where TRUE/FALSE needed
何か助けはありますか?
correl<-function(x,y){
count = c()
for (i in 1:length(x))
if((((y[i+1]-y[i]) > 0) && ((x[i+1]-x[i]) > 0)) || (((y[i+1]-y[i]) < 0) && ((x[i+1]-x[i]) < 0)))
count <- union(count, c(i))
print(length(count) / length(x)-1)
}