[問題] 計算差異百分比

看板R_Language作者 (庫庫少)時間6年前 (2018/02/12 20:03), 編輯推噓1(1018)
留言19則, 3人參與, 6年前最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 我有一個data.frame, 其中一個column是數值(有正有負),我想計算與前一筆的差異百分比 (percentage difference) [程式範例]: x <- data.frame(year = c('2012','2013','2014'), value = c(15,-10,-12)) x$pd <- ??? **x$pd就是我想去算出的差異百分比 (NA,-1.67, -0.2) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.206.5 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1518437015.A.C26.html

02/12 20:49, 6年前 , 1F
我有一個問題,根據你算出來的第二個值,為啥第三個是
02/12 20:49, 1F

02/12 20:49, 6年前 , 2F
正號,我的理解是 (-12 - (-10)) / -10 = 0.2
02/12 20:49, 2F

02/12 20:49, 6年前 , 3F
如果你的差異算法是這樣算的話
02/12 20:49, 3F

02/12 20:50, 6年前 , 4F
library(data.table)
02/12 20:50, 4F

02/12 20:51, 6年前 , 5F
x$pd <- (x$value - shift(x$value)) / shift(x$value)
02/12 20:51, 5F

02/12 20:56, 6年前 , 6F
若是用您的公式,我算出來會是正號,但我覺得正號就
02/12 20:56, 6F

02/12 20:56, 6年前 , 7F
是怪怪的,才上來詢問
02/12 20:56, 7F

02/12 20:58, 6年前 , 8F
公式怪不怪只有你自己知道阿,端看你想幹嘛吧
02/12 20:58, 8F

02/12 22:34, 6年前 , 9F
我想要它是負的………
02/12 22:34, 9F

02/12 23:06, 6年前 , 10F
我其實不太懂 他為什麼要是負的 那這樣基期是10與12
02/12 23:06, 10F

02/12 23:06, 6年前 , 11F
的一個pair也應該是負的嗎?
02/12 23:06, 11F

02/12 23:06, 6年前 , 12F
還是你要的那個向量整個都要是負的
02/12 23:06, 12F

02/12 23:11, 6年前 , 13F
我大概知道你在講什麼了,所以你應該是要掛絕對值吧
02/12 23:11, 13F

02/12 23:30, 6年前 , 14F
我這邊用stepfun可以寫出你這種intution,如果你想做這
02/12 23:30, 14F

02/12 23:30, 6年前 , 15F
種的話用step function * 絕對值,因為你是算兩者距離
02/12 23:30, 15F

02/13 10:28, 6年前 , 16F
感謝
02/13 10:28, 16F

02/13 12:03, 6年前 , 17F
這樣都看得懂只能佩服.
02/13 12:03, 17F

02/13 21:51, 6年前 , 18F
最後我自己寫function處理…謝謝大家花時間幫我看
02/13 21:51, 18F

02/13 21:51, 6年前 , 19F
我的問題……
02/13 21:51, 19F
文章代碼(AID): #1QWOANmc (R_Language)