2013-06-21 2 views
1

У меня есть много областей продаж. Каждый из них является data.frame, и я могу создавать объекты xts для каждого. Для этого требуется строка кода для каждого. Я бы предпочел использовать функцию для создания по требованию. Я попытался использовать ввод клавиатуры для создания символьной строки, а затем разделил кавычки и сохранил вход как символ, который будет использоваться в функции. Это не работает!Функция для создания объекта xts с клавиатуры ввода

## Function to specify unit 
userinput <- scan("", what="") 
userinput <- as.name(userinput[1]) 

## Function to create xts object 
createXts=function(x) { 
    xts(x[1], order.by=x$StartTime, dateFormat="POSIXct") 
} 
## Call function 
createXts(userinput) 
##Result: 
>> Error in x[1] : object of type 'symbol' is not subsettable 

Как я могу использовать пользовательский ввод, чтобы указать data.frame для использования в функции? Примечание: Функция createXts работает, если я заменил x на имя реального устройства.

ответ

1

Как насчет:

CreateXts <- function() { 
    xx <- scan("", what="") 
    xx <- get(xx[[1]]) 
    xts(xx, order.by=xx$StartTime, dateFormat="POSIXct") 
} 
+0

Yep, совершенен. Спасибо, асб. – felixmc

+0

Добро пожаловать! :) – asb