1

全部,

我试图弄清楚如何将 .Rda 文件放入 Base64 编码,以便将其传送到 API 和从 API 传送。我真的很挣扎如何做到这一点。这是我所拥有的,但我认为它偏离了目标:

cuse <- read.table("http://data.princeton.edu/wws509/datasets/cuse.dat", header=TRUE)

lrfit <- glm( cbind(using, notUsing) ~ age + education + wantsMore , family = binomial, data=cuse)

filename <- "C:/test.Rda"

save(lrfit, file=filename)

library("base64enc")
tst <- base64encode(filename)
save(tst, file="C:/encode.Rda")

base64decode(file="C:/encode.Rda", output = "C:/decode.Rda")

当我尝试打开 decode.Rda 文件时,它会抛出一个幻数错误。就像我说的那样,我认为我在这里离基地很远,任何帮助将不胜感激。太感谢了。

4

1 回答 1

1

这里有一个正确的步骤序列,应该允许正确的编码/解码

#sample data
dd<-iris
fn <- "test.rda"
fnb4 <- "test.rdab64"

#save rda
save(iris, file=fn)

#write base64 encoded version
library(base64enc)
txt <- base64encode(fn)
ff <- file(fnb4, "wb")
writeBin(txt, ff)
close(ff)

#decode base64 encoded version
base64decode(file=fnb4, output = "decode.rda")
(load("decode.rda"))
# [1] "iris"

问题是你的第二个save()。那是创建另一个 RDA 文件,其中包含编码的 base64 数据。它没有将 RDA 文件的 base64 编码版本写入光盘。

于 2014-07-21T21:00:47.890 回答