Rでは、スクリプトの最後にグローバル変数のリストを取得し、それらを反復処理したいと思います。これが私のコードです。
#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'
}
問題は、変数が文字変数ではないにもかかわらず、typeof(i)
常に が返されることです。 for ループ内で変数の元の型を取得するにはどうすればよいでしょうか?character
a
c
ベストアンサー1
get
によって返されるオブジェクトの文字名ではなく、値を取得するには を使用する必要がありますls
。
x <- 1L
typeof(ls())
[1] "character"
typeof(get(ls()))
[1] "integer"
あるいは、提示された問題に対しては、以下を使用することもできますeapply
。
eapply(.GlobalEnv,typeof)
$x
[1] "integer"
$a
[1] "double"
$b
[1] "character"
$c
[1] "list"