web-dev-qa-db-fra.com

Comment sauvegarder un fichier de données en .RData?

Je veux sauvegarder des données dans un .RData fichier.

Par exemple, je voudrais enregistrer dans 1.RData avec deux fichiers CSV et des informations.

Ici, j'ai deux fichiers csv

1) file_1.csv contains object city[[1]]
2) file_2.csv contains object city[[2]]

et en outre enregistrer d'autres valeurs, pays et population comme suit. Donc, je suppose que je dois tout d’abord créer des objets 'city' à partir de deux fichiers CSV.

La structure de 1.RData peut ressembler à ceci:

> 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"

file_1.csv et file_2.csv avoir un tas de lignes et de colonnes.

Comment créer ce type de RData avec des fichiers et des valeurs csv?

59
user2913161

Sinon, lorsque vous souhaitez enregistrer des objets R individuels, je vous recommande d'utiliser saveRDS.

Vous pouvez enregistrer des objets R en utilisant saveRDS, puis les charger dans R avec un nouveau nom de variable en utilisant readRDS.

Exemple:

# 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")

Mais lorsque vous souhaitez enregistrer plusieurs/tous vos objets dans votre espace de travail, utilisez la réponse de Manetheran.

85
ialm

Il existe trois façons de sauvegarder des objets de votre session R:

Enregistrer tous les objets dans votre session R:

La fonction save.image() enregistrera tous les objets actuellement dans votre session R:

save.image(file="1.RData") 

Ces objets peuvent ensuite être rechargés dans une nouvelle session R à l’aide de la fonction load() :

load(file="1.RData")

Enregistrer des objets dans votre session R:

Si vous souhaitez enregistrer certains objets, mais pas tous, vous pouvez utiliser la fonction save() :

save(city, country, file="1.RData")

Là encore, elles peuvent être rechargées dans une autre session R à l’aide de la fonction load() :

load(file="1.RData") 

Sauvegarder un seul objet

Si vous souhaitez enregistrer un seul objet, vous pouvez utiliser la fonction saveRDS() :

save(city, file="city.rds")
save(country, file="country.rds") 

Vous pouvez les charger dans votre session R en utilisant la fonction readRDS() , mais vous devrez affecter le résultat à la variable souhaitée:

city <- readRDS("city.rds")
country <- readRDS("country.rds")

Mais cela signifie également que vous pouvez attribuer à ces objets de nouveaux noms de variable si nécessaire (c'est-à-dire si ces variables existent déjà dans votre nouvelle session R mais contiennent des objets différents):

city_list <- readRDS("city.rds")
country_vector <- readRDS("country.rds")
54
Scott Ritchie

Juste pour ajouter une fonction supplémentaire si vous en avez besoin. Vous pouvez inclure une variable dans l'emplacement nommé, par exemple un identifiant de date.

date <- yyyymmdd
save(city, file=paste0("c:\\myuser\\somelocation\\",date,"_RData.Data")

C'était vous pouvez toujours garder un contrôle de quand il a été exécuté

0
Sajjad M