我想将数据保存到.RData
文件中.
例如,我想保存1.RData
两个csv文件和一些信息.
在这里,我有两个csv文件
1) file_1.csv contains object city[[1]]
2) file_2.csv contains object city[[2]]
Run Code Online (Sandbox Code Playgroud)
并另外保存其他值,国家和人口如下.所以,我想首先需要从两个csv文件中创建对象'city'.
1.RData的结构可能如下所示:
> data = load("1.RData")
> data
[1] "city" "country" "population"
> city
[[1]]
NEW YORK 1.1
SAN FRANCISCO 3.1
[[2]]
TEXAS 1.3
SEATTLE 1.4
> class(city)
[1] "list"
> country
[1] "east" "west" "north"
> class(country)
[1] "character"
> population
[1] 10 11 13 14
> class(population)
[1] "integer"
Run Code Online (Sandbox Code Playgroud)
file_1.csv
并file_2.csv
有一堆行和列.
如何使用csv文件和值创建此类型的RData?
ial*_*alm 86
或者,当您想要保存单个R对象时,我建议使用saveRDS
.
您可以使用保存R对象saveRDS
,然后使用新变量名称将它们加载到R中readRDS
.
例:
# Save the city object
saveRDS(city, "city.rds")
# ...
# Load the city object as city
city <- readRDS("city.rds")
# Or with a different name
city2 <- readRDS("city.rds")
Run Code Online (Sandbox Code Playgroud)
但是当您想要在工作区中保存许多/所有对象时,请使用Manetheran的答案.
Sco*_*hie 58
有三种方法可以保存R会话中的对象:
该save.image()
函数将保存当前在R会话中的所有对象:
save.image(file="1.RData")
Run Code Online (Sandbox Code Playgroud)
然后可以使用以下load()
函数将这些对象加载回新的R会话:
load(file="1.RData")
Run Code Online (Sandbox Code Playgroud)
如果要保存一些但不是所有对象,可以使用以下save()
功能:
save(city, country, file="1.RData")
Run Code Online (Sandbox Code Playgroud)
同样,可以使用以下load()
函数将这些重新加载到另一个R会话中:
load(file="1.RData")
Run Code Online (Sandbox Code Playgroud)
如果要保存单个对象,可以使用以下saveRDS()
功能:
saveRDS(city, file="city.rds")
saveRDS(country, file="country.rds")
Run Code Online (Sandbox Code Playgroud)
您可以使用该readRDS()
函数将这些加载到R会话中,但您需要将结果分配到所需的变量中:
city <- readRDS("city.rds")
country <- readRDS("country.rds")
Run Code Online (Sandbox Code Playgroud)
但这也意味着如果需要,您可以为这些对象提供新的变量名称(即,如果这些变量已存在于新的R会话中但包含不同的对象):
city_list <- readRDS("city.rds")
country_vector <- readRDS("country.rds")
Run Code Online (Sandbox Code Playgroud)