4

TRXDate と Curreny のペアを持つ dfがあります

Date            Currency      ExchangeRate
2012-08-13      EUR           ?
2012-08-13      CHF           ?
2012-08-13      CZK           ?

EUR ベースの通貨換算レートの 2 番目の df CURRENCIES があります。

Date            EUR    CHF       CZK
2012-08-13      1      1.24      25.73
2012-08-13      1      1.23      25.92
2012-08-13      1      1.22      24.00

ここで、日率を換算したいと思います。このような getDayRate(date,currency) の関数を作成しました。

getDayRate <- function(date, currency) {
currencies[which(as.character(currencies[,c("Date")]) == date),c(currency)]
}

getDayRate("2013-06-20","EUR")

getDayRate(date,currency)ここで、 の各行に適用して、各行でTRX最初と 2 番目の要素を引数として使用するようにして、 teh を取得しますExchangeRate

apply(x,1,fun())数値の行列が必要なため、機能しません。理論的には、データフレームをインデックスに変換してから適用する必要があります。

より良い方法はありますか?

4

3 に答える 3

6

あなたmapplyは次のようなことができます:

mapply(getDayRate, TRX$Date, TRX$Currency)
于 2013-06-27T13:12:59.763 に答える