有没有办法将 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")
我目前正在尝试将 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")