我想创建一个Forecast Shiny App。用户应该能够上传csv或xls文件。使用文件中的数据,应该进行预测。
由于该文件每次可能是另一个文件,因此我创建了一个反应式读入:
data <- reactive ({
file1 <- input$file
if(is.null(file1)){return()}
read.table(file = file1$datapath, sep = input$sep, header = input$header)
})
为了能够进一步处理数据并创建简单图,我创建了一个数据框:
output $ plot <-renderPlot({
#create dataframe
df <- as.data.frame(data())
plot(df)
)}
我的输入文件是一个简单的csv,其中仅包含一列带有pageimpressions的列。该列的标题也就是pageimpressions。现在df <- as.data.frame(t(data()))
部分创建了一个如下所示的df:
有人知道如何创建一个看起来像这样的“普通”数据框:
AND / OR:有人知道如何直接创建上层数据框的ts对象吗?
非常感谢!
(使用的软件包:library(shiny))
答案 0 :(得分:0)
至少对于“正常”数据帧,我不确定为什么要运行此行:
<ListItemText
primary={obj.label}
classes={{
root: classes.listItemText,
primary: classes.listItemText
}}
/>
df <- as.data.frame(t(data()))
已经通过“ read.table()/ read.csv()”被读入R中,已经是“正常”数据帧。如果您运行data()
,则应该获得class(data())
[1] "data.frame"
创建了数据帧的转置,但似乎您不那么想?
您可以尝试t()
或plot.ts()
。
对于ts.plot()
包来说,它非常有用,尽管您需要一些时间来对应我在上面的数据集中看不到的数据点。