2017-06-14 63 views
-1

執行Close和10ema列之間的百分比變化。期望輸出%的差異接近列[3]R - 在同一行的兩列之間應用百分比變化

我有一個數據幀

Close   10ema % Difference Close – 10ema/10ema *100 
12.81398   NA    NA 
13.2636    NA    NA 
13.54461   NA    NA 
13.76941   NA    NA 
13.82561   NA    NA 
13.88181   NA    NA 
13.76941   NA    NA 
13.88181   NA    NA 
13.4884    NA    NA 
13.4884   13.572704 -0.621128995 
13.376   13.53693964 -1.188892325 
13.376   13.50767788 -0.974837314 
13.4884   13.50417281 -0.11679956 
13.4322   13.49108685 -0.436487059 
13.376   13.47016197 -0.699041087 
13.376   13.45304161 -0.572670563 
13.376   13.43903404 -0.469037013 

我期待執行關閉和10ema之間的差異%之內我的數據。

在Excel我會使用:

=總和(接近1 - 10ema)10ema * 100

我使用R代碼:我指定列申請

new.dataframe$close.prct.ema.10 <- apply(new.dataframe[,c('Close', 'ema.10')], 1, function(x) { (x[1]-x[2]/x[2]) * 100 }) 

函數也在[,c('Close','ema.10')]

也是函數之前的1告訴代碼按行執行函數,如函數function(x)

該部分(X [1]/X [2]/X [2])×100})是企圖說: 關閉 - ema10/EMA 10 * 100

在1和2點到[,c('Close','ema.10')中列出列名的順序

但是,結果不起作用。代碼看起來對我來說很好,而且很有道理,我在這裏錯過了什麼?

+1

很難幫助無看到數據:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example。 – neilfws

+1

[用grid.arrange指定繪圖的寬度和高度]的可能重複(https://stackoverflow.com/questions/36198451/specify-widths-and-heights-of-plots-with-grid-arrange) – Masoud

+1

或https ://stackoverflow.com/questions/14590111/how-to-control-plot-width-in-gridextra – Masoud

回答

0

答案如下。這是語法的順序問題。以下是在兩欄之間應用百分比變化的工作解決方案。

new.dataframe$close.prct.ema.10 <- apply(new.dataframe[,c('Close', 'ema.10')], 1, function(x) { (x[1]-x[2])/x[2] * 100 }) 

(X [1] -x [2])/ X [2] * 100

注意括號第一週圍(X1-X2)/ 2 * 100