无法在数据环境中查找对象

时间:2014-10-23 21:24:59

标签: r dataframe assign

我有一个表,其中包含一个名称列表,我以编程方式将其分配给大型数据表的子集。如您所见,其中一些包含空格。

inputs$Equity.Country.Names

 [1] "AUSTRALIA"     "AUSTRIA"       "BELGIUM"       "BRITAIN"       "CANADA"        "DENMARK"      
 [7] "FINLAND"       "FRANCE"        "GERMANY"       "GREECE"        "IRELAND"       "ITALY"        
[13] "JAPAN"         "NETHERLANDS"   "NORWAY"        "PORTUGAL"      "SPAIN"         "SWEDEN"       
[19] "SWITZERLAND"   "UNITED STATES" "NEW ZEALAND"   "ARGENTINA"     "BRAZIL"        "CHILE"        
[25] "CZECH"         "HONG KONG"     "INDONESIA"     "ISRAEL"        "MALAYSIA"      "MEXICO"       
[31] "PHILIPPINES"   "POLAND"        "SINGAPORE"     "SOUTH AFRICA"  "SOUTH KOREA"   "TAIWAN"       
[37] "THAILAND"      "TURKEY"    

我使用此循环进行分配,并且没有收到任何错误。它们中没有空格的名称似乎可以工作,我可以从控制台调用它们。此外,在我的Rstudio“环境”选项卡中,显示了在其中包含空格的对象名称,当我查看它们时,有数据。但是,如果我尝试从控制台调用该对象,按预期我不能。我很困惑为什么我能够首先做出任何类型的任务。

for (i in 1:NROW(inputs))
{
  assign(inputs$Equity.Country.Names[[i]], subset(bdata, ticker == inputs$Equity.Tickers[[i]]))
}

此外,我意识到我在尝试运行此循环时犯了错误:

for (i in 1:NROW(inputs))
{
  assign(paste0("nona",inputs$Equity.Country.Names[[i]]), na.omit(eval(parse(text = inputs$Equity.Country.Names[[i]]))))
}

然后得到了这个错误,我认为是因为空间问题,美国是列表中第一个包含空格的名称。

Error in parse(text = inputs$Equity.Country.Names[[i]]) : 
  <text>:1:8: unexpected symbol
1: UNITED STATES

这些对象的名称实际上在内存中有空格,为什么?我还可以参考吗?

0 个答案:

没有答案