0

まだ作成されているかどうかわからないオブジェクトを処理できる関数を作成したいと思います。

この関数の最初に、特定の変数がまだ作成されているかどうかを宣言する簡単な「if」ステートメントが必要です。この場合、タイムスタンプ。

TS<-date()

fun<-function(){
if(TS=="")
{print("No Time Stamp Info")}
else
{print("Time Stamp created at"); TS}
}

または代わりに

TS<-date()

fun<-function(){
if(is.character(TS))
{print("Time Stamp created at"); TS}
else
{print("No Time Stamp Info")}
}

ただし、もちろん、タイムスタンプを削除して、最初にTSに値を割り当てずに、次のようにした場合は、次のようになります。

#TS<-date()

fun<-function(){
if(TS=="")
{print("No Time Stamp Info")}
else
{print("Time Stamp created at"); TS}
}

TSが存在しないためにエラーをスローするより。Rワークスペースに変数「TS」がない場合に、エラーではなく「タイムスタンプ情報なし」を取得する方法を見つけたいと思います。

これを実行できる関数を正しく設定する方法はありますか?

4

2 に答える 2

4

どうですか:

if (exists("TS")) ...

TRUE存在する場合、これは戻りTSます。

于 2012-06-29T08:43:36.000 に答える
0

おそらく含める

if("TS" %in% ls())

TSが最初に定義されているかどうかを確認します。

そして、TSでのみ定義される場合は.GlobalEnv、を含める必要があります

if("TS" %in% ls(envir = .GlobalEnv))

代わりに、envir「TS」が作成される可能性のある環境に応じて引数を変更することができます。

于 2012-06-29T08:42:15.323 に答える