如果我尝试获取用户的输入并将数据帧保存到另一个数据框中以便在代码中进一步使用
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 还很陌生。谢谢。
最佳答案
getSymbols
auto 默认将返回值分配给全局环境,这意味着您将获得一个与您查询的公司同名的对象。要停止该行为,请将 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)
关于将 `getSymbols()` 的输出作为数据帧返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50834601/