根据这个问题的答案,您可以使用save()函数将R中的数据框“foo”保存如下:
但事实证明,只有对象的名称被保存:
save(foo,file="data.Rda")
以下是数据框 "df":
> str(df)
'data.frame': 1254 obs. of 2 variables
$ text : chr "RT @SchmittySays: I love this 1st grade #science teacher from #Duluth http://t.co/HWDYFnIyqV #NSTA15 #AlbertEinstein #inspirat"| __truncated__ "RT @KVernonBHS: @smrtgrls would love Stellar Girls. Empowering female scientists rocks! #NSTA15 http://t.co/1ZU0yjVF67" "RT @leducmills: Leaving #SXSWedu to go straight to #NSTA15. There should be some sort of arbitrary conference-hopper social med"| __truncated__ "RT @KRScienceLady: Congrats to a wonderful colleague who helped #ngss Bcome reality, Stephen Pruitt, Distinguished Service to "| __truncated__ ...
$ group: Factor w/ 2 levels "narst","nsta": 2 2 2 2 2 2 2 2 2 2 ...
看起来保存成功了:
> save(df, file = "~/downloads/df.Rda")
但事实证明,只有对象的名称被保存:
> df1 <- load("~/downloads/df.Rda")
> str(df1)
chr "df"
我尝试了上面提到的另一个答案中建议使用的saveRDS()函数,它运行良好,但我想知道为什么save()无法工作。
load
函数上。把df <- load("~/downloads/df.Rda")
改为load("~/downloads/df.Rda")
。注意不要改变原来的意思,同时让句子更加通俗易懂。 - Alexload
时不需要分配,它只会在parent.frame()
环境中创建保存的对象 - 在这种情况下是全局工作区。你获得返回文本中的“df”的原因是因为,正如?load
所说,该函数返回:一个由创建对象名称组成的字符向量,但不可见。
但保存的数据仍应加载到df
中。 - thelatemailtmpenv <- new.env(); load("df.Rda",envir=tmpenv); newdf <- tmpenv[["df"]]
或者类似的操作。 - thelatemail