我想在R中執行一個簡單的Excel計算。比方說,我有一長串數字,我想從第2行減去第1行,從第4行減去第3行,以此類推,以便他們減去後面的數字對。我該怎麼做呢?如何在R中執行電子表格類型計算?
甚至更簡單一些。我如何從第2行減去第1行,然後從第3行減去第2行,依此類推?基本上我在這裏找到每兩行之間的區別。
這應該很容易,但我花了幾個小時嘗試一些事情,並尋找答案無濟於事。
請幫忙。
謝謝!
我想在R中執行一個簡單的Excel計算。比方說,我有一長串數字,我想從第2行減去第1行,從第4行減去第3行,以此類推,以便他們減去後面的數字對。我該怎麼做呢?如何在R中執行電子表格類型計算?
甚至更簡單一些。我如何從第2行減去第1行,然後從第3行減去第2行,依此類推?基本上我在這裏找到每兩行之間的區別。
這應該很容易,但我花了幾個小時嘗試一些事情,並尋找答案無濟於事。
請幫忙。
謝謝!
您正在尋找功能diff()
。該函數將計算兩個連續數量的向量之間的差異。
set.seed(1)
x<-sample(1:10,10)
x
[1] 3 4 5 7 2 8 9 6 10 1
diff(x)
[1] 1 1 2 -5 6 1 -3 4 -9
做你原來的版本比較第1和第2,第3和第4的問題,我想將數據轉換成一個矩陣,並做沿着列的diff。
set.seed(1)
x=sample(1:10,10)
x
[1] 3 4 5 7 2 8 9 6 10 1
所以我們的答案將是-1,-2,-6,3,9由(3-4),(5-7),(2-8),(9-6)和(10-1)。
這使得我們的矩陣:
> matrix(x,nrow=2)
[,1] [,2] [,3] [,4] [,5]
[1,] 3 5 2 9 10
[2,] 4 7 8 6 1
,然後我們應用diff
成列,增加一個負號,因爲diff
做減法反過來: