0 votes
1 view
in R Programming by (5.3k points)

In R, I'd like to retrieve a list of global variables at the end of my script and iterate over them. Here is my code

#declare a few sample variables

a<-10

b<-"Hello world"

c<-data.frame()

#get all global variables in script and iterate over them

myGlobals<-objects()

for(i in myGlobals){

  print(typeof(i))     #prints 'character'

}

My problem is that typeof(i) always returns character even though variable a and c are not character variables. How can I get the original type of variable inside the for loop?

1 Answer

0 votes
by (25.3k points)

To get the type of variable, you can use the get function to obtain the value rather than the character name of the object.

In your case:

a<-10

b<-"Hello world"

c<-data.frame()

#get all global variables in script and iterate over them

myGlobals<-objects()

for(i in myGlobals){

  print(typeof(get((i))))    #prints 'character'

}

Output:

[1] "closure"

[1] "double"

[1] "list"

[1] "list"

[1] "double"

[1] "list"

[1] "closure"

[1] "list"

[1] "closure"

[1] "list"

[1] "double"

[1] "character"

[1] "list"

[1] "list"

[1] "list"

[1] "list"

[1] "character"

[1] "character"

[1] "list"

[1] "list"

[1] "double"

[1] "closure"

[1] "list"

[1] "list"

Related questions

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...