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

Is there a way to paste csv data into R instead of reading from file?

我目前正在尝试将 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 = ",")

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

当然可以。使用类似这样的东西。

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

您也可以简化 read.csv(textConnection("...here...")) 周围的多行表达式。

您也可以从剪贴板粘贴,但这往往会变得 OS 具体且不便于携带。

您可以将 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")