我有我想轉換成R兩個Excel函數:轉換Excel函數爲R
numberShares
=IF(AND(N213="BOH",N212="BOH")=TRUE,P212,IF(AND(N213="BOH",N212="Sell")=TRUE,ROUNDDOWN(Q212/C213,0),0))
marketValue
=IF(AND(N212="BOH",N213="BOH")=TRUE,C213*P212,IF(AND(N212="Sell",N213="Sell")=TRUE,Q212,IF(AND(N212="BOH",N213="Sell")=TRUE,P212*C213,IF(AND(N212="Sell",N213="BOH")=TRUE,Q212))))
所引用的單元包括:股票的
- C =收盤價的
- N =位置值或者「購買或持有」或「賣」
- p =股份
- q =市場價值的數量,如suming $ 10,000個初始股本(股數*收盤價)
和兩個輸出列的我試圖重新創建這個樣子的頂部: output
到目前爲止,RI構建了一個數據幀與必要的四列: data.frame
我只是不知道如何編寫將填充股數和市場價值列的函數。 For循環?如果別的?
再次,謝謝!
你在'ifelse()'的正確軌道上。還要看'邏輯','比較'和'圓'。您應該或多或少地能夠通過現有的代碼來替代R等價物,它會起作用。 – Chase
我建議使用更傳統的'if else else {}'語句。 'ifelse()'並不總是以直觀的方式發揮作用。 –
@BrandonBertelsen我同意,理解'if'和'ifelse'之間的區別很重要。 'if'應該用於控制語句,它只需要一個邏輯參數,而'ifelse'則需要一個向量參數。 – Andrie