我有一个表,其中包含一个名称列表,我以编程方式将其分配给大型数据表的子集。如您所见,其中一些包含空格。
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
这些对象的名称实际上在内存中有空格,为什么?我还可以参考吗?