如果刨只爲您的應用程式上的一個實例,在任何時候運行,你可以使用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