如何在 R 中保存数据框
How to save a data frame in R
根据this question的回答,可以在R中用save()函数保存一个数据帧"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() 不起作用。
你可能想在这里看看这个问题:R data formats: RData, Rda, Rds etc。
加载 .rda
对象时,您会将所有对象以其原始名称加载到全局环境中。您不能像您尝试的那样使用 load
将对象分配给新名称。
如果你想保存以后可以用不同名称加载的对象,那么你应该使用.rds
格式(saveRDS
和readRDS
)。如果要在 .rds
文件中保存多个对象,最简单的解决方案是将它们全部放在一个列表中,只保存列表。如果读完.rds
后想把列表的对象放到全局环境中,可以使用list2env
.
根据this question的回答,可以在R中用save()函数保存一个数据帧"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() 不起作用。
你可能想在这里看看这个问题:R data formats: RData, Rda, Rds etc。
加载 .rda
对象时,您会将所有对象以其原始名称加载到全局环境中。您不能像您尝试的那样使用 load
将对象分配给新名称。
如果你想保存以后可以用不同名称加载的对象,那么你应该使用.rds
格式(saveRDS
和readRDS
)。如果要在 .rds
文件中保存多个对象,最简单的解决方案是将它们全部放在一个列表中,只保存列表。如果读完.rds
后想把列表的对象放到全局环境中,可以使用list2env
.