1
我想有一個測試,看看我的數據是否有意義,所以我想比較我的數據集的2列。它與距離有關,所以我比較Yn - Yn-1和Xn - Xn-1。奇怪的輸出長度使用
x<-c(1,2,3,0,2,0,5,8,2,10,2,0,1,0)
CSx<-cumsum(x)
y<-c(1,1.5,2,2,3,3,2,6,1,8,9,10,11,12)
test1<-as.data.frame(cbind(x, CSx, y))
bla<-NA
for (n in 2:length(test1[,1])){
j<-test1[n,2]
k<-test1[n-1,2]
l<-test1[n,3]
m<-test1[n-1,3]
ifelse((l-m)/(j-k)>1, bla<-append(bla, "WRONG!!!"), bla<-append(bla, "ok"))
}
因此,我期望有length(test1)
值,第一個是NA
,然後13個計算出的值,從2到在這些殼體14。我只得到12:
> length(2:length(test1[,1]))
# [1] 13
> bla
# [1] NA "ok" "ok" "ok" "ok" "ok"
# [7] "ok" "ok" "ok" "WRONG!!!" "ok" "WRONG!!!"
> length(bla)
# [1] 12
我想這是一個完全合乎邏輯和簡單的原因,但我完全困惑。
短替代:'一個= DIFF(CSX); b = diff(y); B> A'。 'diff'計算值n和值n-1之間的差值。這裏沒有區分,所以錯誤信息不會出現。 – koekenbakker