вернуть вывод `getSymbols ()` как фрейм данных - PullRequest
0 голосов
/ 13 июня 2018

Если я попытаюсь принять входные данные от пользователя и сохранить фрейм данных в другом для дальнейшего использования в коде

 comp.name <- readline(prompt = "Enter the company name: ")
 getSymbols(comp.name , src = "yahoo", verbose = TRUE, from = "2018-03-01")
 tyu2 <- as.data.frame(comp.name)

Я не получу данные обратно, а только фрейм данных с одним факторомзначение.Пожалуйста, предложите что-нибудь.Дальнейший код выглядит как

tyu <- tyu2$(comp.name).Open
x <- row.names(tyu2)
final <- length(tyu)
final <- as.numeric(final)
p <- ggplot(data = tyu2 , aes(x= x ,y=tyu))+geom_bar(stat = "identity", fill = "blue")+ theme(axis.text.x = element_text(angle = 90))
p

Это может быть глупой ошибкой.Я совсем новичок в R. Спасибо.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

getSymbols автоматически присваивает возвращаемое значение глобальной среде по умолчанию, что означает, что вы получите объект с тем же именем, что и запрашиваемая компания.Чтобы остановить это поведение, установите auto.assign на FALSE.Таким образом, вы можете присвоить возвращенные значения объекту самостоятельно:

comp.name <- readline(prompt = "Enter the company name: ")
tyu2 <- getSymbols(comp.name ,
                   src = "yahoo",
                   verbose = TRUE,
                   from = "2018-03-01",
                   auto.assign = FALSE)
tyu2 <- as.data.frame(tyu2)
0 голосов
/ 13 июня 2018

Чтобы предотвратить преобразование символьных векторов в фактор при создании data.frame, используйте stringsAsFactors = FALSE при создании data.frame.

 tyu2 <- as.data.frame(comp.name, stringsAsFactors = FALSE)
...