我有一个数据框JPYData(内容不重要):
Date Open High Low Close
1514851200 112.7720 112.7765 112.7575 112.7705
1514851260 112.7705 112.7705 112.7660 112.7680
我正在通过几种不同的货币循环分析,每种货币都有类似的数据框架。要在我的脚本中动态调用它们,我正在尝试使用active.data <- sprintf("%sData", currency)
。在此示例中,我的代码实际上只是active.data <- "JPYData"
,而不是将数据框存储在active.data中。我曾尝试过as.name(sprintf("%sData", currency))
,但无济于事。任何帮助将不胜感激。
由于
答案 0 :(得分:2)
您可以使用get
(see the doc),如以下示例所示:
mydf <- 'mtcars'
## mtcars is a build-in dataframe we want to access by its name.
## We assign the string to mydf.
active.data <- get(mydf)
## print the first rows on the screen for confirmation
head(active.data)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
在您的情况下,您将使用
active.data <- get(sprintf("%sData", currency))