salary <- c(5000, 3000, 2000, 1000, 5000)
currency <- c('USD', 'EUR', 'JPY', 'CHF', 'CAD')
df <- data.frame(salary, currency)
我想把所有的工資都換算成美元,所以如果我想把 3000 換算成美元,我會把 3000 乘以 1.12。它適用于 for 回圈和 if 陳述句,但我想知道是否有更快更短的方法。
uj5u.com熱心網友回復:
假設您有一個匯率表:
exchangeRatestoUSD = data.frame(currency = c('USD', 'EUR', 'JPY', 'CHF', 'CAD'),
rates = c(1, 2, 2.51, 1.14, 12))
currency rates
1 USD 1.00
2 EUR 2.00
3 JPY 2.51
4 CHF 1.14
5 CAD 12.00
然后你可以簡單地做:
df <- merge(df, exchangeRatestoUSD)
df$USD_salary = df$salary * df$rates
currency salary rates USD_salary
1 CAD 5000 12.00 60000
2 CHF 1000 1.14 1140
3 EUR 3000 2.00 6000
4 JPY 2000 2.51 5020
5 USD 5000 1.00 5000
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/375189.html
