Как сделать vlookup и hlookup вместе в R? - PullRequest
0 голосов
/ 21 октября 2018

У меня есть датафрейм как таковой:

interestRates <- c(0,0.005,0.015)
FXandGold <- c(0.01,0.05,0.075)
Equities <- c(0.06,0.08,0.1)
PreciousMetalsandGold <- c(0.07,0.07,0.08)
OtherCommodities <-c(0.1,0.12,0.15)
Timehorizon <- c("One year or less", "Over one year to five years", "Over five years")
Addondatatable<-data.frame(Timehorizon,interestRates,FXandGold,Equities,PreciousMetalsandGold,OtherCommodities)
Addondatatable
                  Timehorizon interestRates FXandGold Equities PreciousMetalsandGold OtherCommodities
1            One year or less         0.000     0.010     0.06                  0.07             0.10
2 Over one year to five years         0.005     0.050     0.08                  0.07             0.12
3             Over five years         0.015     0.075     0.10                  0.08             0.15

Как найти аддон, где он составляет один год или меньше, и это Акции?Таким образом, значение должно быть возвращено как 0,06.

Кстати, есть ли лучший способ создать эту таблицу сопоставления?

Я новичок в R, нужно некоторое руководство по этим ..

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

С незначительной модификацией вашего стола это легко.Вместо того, чтобы делать Timehorizon столбцом, сделайте его именем row.names.Тогда вы можете просто напрямую использовать его для запроса таблицы.

Addondatatable<-data.frame(interestRates,FXandGold,Equities,
        PreciousMetalsandGold,OtherCommodities, row.names=Timehorizon)

Addondatatable["One year or less", "Equities"]
[1] 0.06
0 голосов
/ 21 октября 2018

Я предлагаю вам следовать предложению p0bs и прочитать на tidyverse.Похоже, вы после:

library(tidyverse)
Addondatatable %>% filter(Timehorizon == "One year or less") %>% select(Equities)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...