2016-08-04 75 views
0

的後續行一排的相互作用這是不準確的問題,但其總體思路創建R中的數據幀是與另一個數據幀

test<-data.frame(rbind(c(1,2,3), c(4, 5, 6), c(7, 8, 9), c(1, 2, 3))) 
names(test)[1] <- "one" 
names(test)[2] <- "two" 
names(test)[3] <- "three" 

所以我基本上要創建一個新的 - 含有一個列數據幀,其中每一行是行(I)行所述測試數據幀

如(I + 1):

test[1,1]-test[2,1] 
test[2,1]-test[3,1] 
test[3,1]-test[4,1]... 

I;已經試過:

k<-nrow(test) 
for(i in 1:k-1){ 
    test2<-data.frame(test[i,1]-test[i+1,1]) 
} 

但這只是生產一個值

也再添加一個最後一行「0」,所以有k行總

+0

PLE ase post expected result – Sotos

+1

這是你在找什麼? 'diff(test $ one)' – rmf

+0

或者'data.frame(new_one = c(-diff(test $ one),0))' – Sotos

回答

0

爲了您的行與行減法,您通過需要循環你的行和列:

k<-nrow(test) 
n <- ncol(test) 
for (j in 1:n){ 

    for(i in 1:k-1){ 

    test[i,n + j] <- test[i,j]-test[i+1,j] 
    i = i+1 
    } 
} 

要添加新行:

test[k+1,] <- matrix(0,nrow=1, ncol=n)