将值映射到R中的对象

将值映射到R中的对象,r,R,我有一个关于R中映射的最佳实现的问题。例如,我有10个模型和300只股票需要使用这些模型进行处理。每个库存都由一个符号表示,需要由其中一个模型进行处理。我想有一个地图,可以让我得到一个符号模型。例如,IBM、AAPL、MSFT由模型M1处理。F、 通用汽车、M2车型的CAT等。。。有没有办法做类似的事情 型号=XXX(符号) 型号很大,我不希望列表中有我的10个型号的290个副本,因此我需要通过引用的方式访问实际分配的10个型号。您可以创建一个包含库存和相关型号的数据框: mapping <

我有一个关于R中映射的最佳实现的问题。例如,我有10个模型和300只股票需要使用这些模型进行处理。每个库存都由一个符号表示,需要由其中一个模型进行处理。我想有一个地图,可以让我得到一个符号模型。例如,IBM、AAPL、MSFT由模型M1处理。F、 通用汽车、M2车型的CAT等。。。有没有办法做类似的事情 型号=XXX(符号)


型号很大,我不希望列表中有我的10个型号的290个副本,因此我需要通过引用的方式访问实际分配的10个型号。

您可以创建一个包含库存和相关型号的数据框:

mapping <- data.frame(stock=c("IBM", "AAPL", "MSFT", "F", "GM", "CAT"),
                      model=c(1, 1, 1, 2, 2, 2))
更简单的语法是使用命名向量:

mapping2 <- c(IBM=1, AAPL=1, MSFT=1, F=2, GM=2, CAT=2)
mapping2["AAPL"]
# AAPL 
#    1 

如果您现在尝试用示例代码和您想要实现的东西来表达这一点,那将是非常棒的:)这是一个java版本:`Map modmap=new HashMap();模型m1=新模型(…);modmap.put(“IBM”,m1);modmap.put(“AAPL”,m1)。。。String Symbol=“IBM”;Model m=modmap.get(Symbol)'我希望能够创建这个modmap,一旦我有了这个符号,就可以从中提取模型,然后用它们来处理东西。
mapping2 <- c(IBM=1, AAPL=1, MSFT=1, F=2, GM=2, CAT=2)
mapping2["AAPL"]
# AAPL 
#    1 
mods[[mapping$model[mapping$stock == "AAPL"]]]
mods[[mapping2["AAPL"]]