簡體   English   中英

R用存儲的字符串更改數據集的名稱

[英]R change name of dataset with stored string

我正在使用循環創建許多數據集,並且需要確保所有這些不同的數據集均已正確命名並存儲在工作空間中。 我的問題如下。 假設我有一個數據集(這里是空氣質量),我想創建4個數據集並將它們存儲在工作區中

分割數據集

airquality$N<-letters[airquality$Month]
head(airquality)
AllDatasets<-split(airquality,airquality$N)
names(AllDatasets)

現在,我想用一個循環提取每個數據集,例如

#Conceptual loop
for (i in (1:names(AllDatasets))){
#Create  dataset  AllDatasets[i] and name it    names(AllDatasets)[i]
  }

這樣,在循環之后,我可以分別處理每個數據集(e,f,g,h,i)(我不想將相同的函數應用於所有數據集,我想將每個單獨的數據存儲在我的工作區中) 。 我想這個問題不僅適用於循環,還在於如何使用存儲在字符串中的名稱來重命名數據集(而不是其列)。

您可以使用list2env()

list2env(AllDatasets, .GlobalEnv)

現在efghi在您的工作空間中都可用(在這種情況下為全局環境,您可以根據需要在第二個參數中指定其他環境)。


要從字符串中分配名稱,可以使用assign() 例如,回應以下Marco的評論:

D <- data.frame(rnorm(1:10), rnorm(1:2))
Name <- 'ThatOne'
assign(Name, D)

或直接使用字符串:

assign('ThatOne', D)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM