简体   繁体   中英

Creating many new dataframes in R

I need to create a lot of dataframes. is there any faster way where you can only specify the names of new tables and assign <- data.frame () once?

results_test <- data.frame()
results_OA<- data.frame()
results_SVM <- data.frame()
results_SVM_linear <- data.frame()
results_SVM_RBF <- data.frame()

Use replicate to create a list of n data frames, name them using setNames . Finally, with list2env put the list objects into eg the global environment.

df.names <- paste0("results_", c("test", "OA", "SVM", "SVM_linear", "SVM_RBF"))
df.list <- setNames(replicate(n=length(df.names)), df.names)
list2env(df.list, envir=.GlobalEnv)

Result:

ls()
# [1] "df.list"            "results_OA"         "results_SVM"        "results_SVM_linear"
# [5] "results_SVM_RBF"    "results_test"

Here is using for loop, base R

names<-c("test", "OA", "SVM", "SVM_linear", "SVM_RBF")
for(i in 1:length(names)){
  assign(paste0("results_",names[i]),data.frame())
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM