如果刨只为您的应用程式上的一个实例,在任何时候运行,你可以使用wrtie.csv
和read.csv
或者您可以将您的变量保存为使用load
和save
功能R数据保存文件。
data <- matrix(runif(5*5),nrow=5)
# Save as .Rdata
save(file="mydata.Rdata",data)
# Load data into variable
n.env <- new.env()
load(file="mydata.Rdata",envir=n.env)
my.dat <- n.env$data
如果该应用程序应该支持多用户,也许这是最好有您存储用户在一列,并在使用序列like this其他列的数据矩阵数据库(SQL-精简版也许?)。
# The database method
library(RSQLite)
db <- dbConnect(SQLite(), dbname="mydb.sqlite")
# Create table
dbSendQuery(conn = db,
"CREATE TABLE Data (
ID INTEGER PRIMARY KEY AUTOINCREMENT,
User INTEGER NOT NULL,
Stored BLOB,
dim INTEGER
);")
# Basically how this works, serialize and then unserialize
# unserialize(charToRaw(rawToChar(serialize(data, NULL, ascii=T))))
in.data <- list("dat1"=rawToChar(serialize(data, NULL, ascii=T)), "user"="user1")
# Insert values it
dbGetPreparedQuery(db, 'INSERT INTO Data (Stored, User) VALUES (:dat1, :user)',
bind.data = as.data.frame(in.data))
# Now retrive the data again
df2 <- dbGetPreparedQuery(db, "SELECT * FROM Data WHERE User = :user", bind.data = data.frame("user"="user1"))
my.dat2 <- unserialize(charToRaw(df2$Stored[1]))
希望这有助于!
也许[闪亮的应用程序中的持久数据存储](http://deanattali.com/blog/shiny-persistent-data-storage/)将帮助 – tospig