有没有办法将csv数据粘贴到R而不是从文件中读取?

时间:2016-07-26 23:16:22

标签: r csv rstudio shiny

我目前正在尝试将shinyapp发布到shinyapp.io,但我无法配置我的rdrop2令牌以上传我的数据文件。它是csv形式,我使用app.R.由于我无法在此处上传令牌,因为担心我的Dropbox完全可以在线使用,我会尽力而为。

我与rdrop2一起使用的功能如下:

token <- drop_auth()
saveRDS(token, "droptoken.rds")
token <- readRDS("droptoken.rds")
drop_acc(dtoken = token)

statadata <- drop_read_csv("/shinyapp/alldata.csv")
g <- na.omit(statadata)
data <- reactive({
  g[1:input$scatterD3_nb,]
})

ui <-  fluidPage(...

当我在RStudio上运行闪亮的应用程序时它完全正常运行但是当我部署应用程序时,它给了我两个错误之一。

ERROR: oauth_listener() needs an interactive environment.

Error in func(fname, ...) : app.R did not return a shiny.appobj object.

当我将它打印到RStudio查看器时,都不会发生错误。

虽然我解决了这个问题,但有一种方法可以通过将csv文件编辑器版本直接复制到r中来简单地创建数据集,例如

read.csv("country,nutsid,year,cyril_index_left,delta_cyril_left,manifesto,cyril_index_abs
,cyril_index,cyril_index_right,delta_cyril_right,Employment_15_64_,Employment_total,youth_employment,L_Employment_total,
L_youth_employment,growth, Austria,AT11,2002,-1017.925,-216.9429,-17.64,72.93657,1017.925,
0,-977.0339,1.1,0.9,0.5,-2.1,-8.9,4.7,Austria,AT11,2006,-923.9658,93.95892,
-4.308,104.4628,923.9658,0,0,0.8,0.4,-1.9,2.5,2.8,1.6", sep = ",")

我真的没有看到任何其他解决方案,因为无论如何闪亮都不会从本地文件读取我的数据。

2 个答案:

答案 0 :(得分:9)

您可以将text=参数用于read.table(因此read.csv):

x <- read.csv(text="country,nutsid,year,cyril_index_left,delta_cyril_left,manifesto,cyril_index_abs,cyril_index,cyril_index_right,delta_cyril_right,Employment_15_64_,Employment_total,youth_employment,L_Employment_total,L_youth_employment,growth
Austria,AT11,2002,-1017.925,-216.9429,-17.64,72.93657,1017.925,0,-977.0339,1.1,0.9,0.5,-2.1,-8.9,4.7
Austria,AT11,2006,-923.9658,93.95892,-4.308,104.4628,923.9658,0,0,0.8,0.4,-1.9,2.5,2.8,1.6")

答案 1 :(得分:6)

不确定。使用这样的东西。

Lines <- "
header1, header2
val1, 12
val2, 23
"
con <- textConnection(lines)
data <- read.csv(con)
close(con)

您可以简化并在read.csv(textConnection("...here..."))附近使用多行表达式。

您也可以从剪贴板粘贴,但这往往会导致操作系统特定且便于移植。