Home > Blockchain >  How can I use a string input from an R function to name a dataset?
How can I use a string input from an R function to name a dataset?

Time:10-02

I want to create a very simple function that takes part of a large dataset (df) and creates a new dataset in the global environment with a specified name. The problem is that it seems to name the new dataframe "x" instead of the actual string input. Example:

create_dataset<-function(x,rows,columns) {
  name<<-df[rows,columns]
}

create_dataset(x="skildpadde",
               rows=690:692,
               columns=2:7)

How can I use the input "x" as the dataset name?

CodePudding user response:

Use get():

create_dataset<-function(x,rows,columns) {
  get(x)[rows,columns]
}

Or, if you trying to assign to x in the global environment:

create_dataset<-function(x,rows,columns) {
  assign(x, df[rows,columns],envir = .GlobalEnv)
}

I'm not sure I understand the use case or rationale behind either of these...

  • Related