R Extentions関連
DLLのロード関連
「ベクターにアップしたプログラム」「R言語ExtentionsをC#で」で作成したDLLで試したもの。
ClrEntryは、R0Ex.dllがエクスポートしているCの関数の名前です。
-
ロード
dyn.load("R0Ex.dll")
-
アンロード
dyn.unload("R0Ex.dll")
-
ロードされているDLLの一覧
getLoadedDLLs()
-
DLLがロードされているか
「C関数のエントリが登録されているか」で判定
-
C関数のエントリが登録されているか
is.loaded("ClrEntry")
-
C関数の情報
getNativeSymbolInfo("ClrEntry")
-
?
getDLLRegisteredRoutines("stats")
getDLLRegisteredRoutines(dlls[["base"]])
引数の変換
Cの関数に渡す変数の型を揃える。
-
as.list(x)
SEXP形式のリストに変換される
-
as.character(x)
文字列の配列に変換される
-
as.interger(x)
CのInt32[]に変換される
-
as.numeric(x)
Cのdouble[]に変換される
引数の有無
missing(arg1) は、arg1が未定義ならTRUEを返す。
引数が空
is.null(x) は、x が NULL ならTRUEを返す。
引数の型判定
-
is.integer(x)
-
is.numeric(x)
-
is.logical(x)
-
is.character(x)
-
is.complex(x)
非数値判定
-
is.na(x)
- > d <- c(123,NA,NaN,Inf)
- > is.na(d)
- [1] FALSE TRUE TRUE FALSE
-
is.nan(x)
- > d <- c(123,NA,NaN,Inf)
- > is.nan(d)
- [1] FALSE FALSE TRUE FALSE
-
is.infinite(x)
- > d <- c(123,NA,NaN,Inf)
- > is.infinite(d)
- [1] FALSE FALSE FALSE TRUE
-
is.finite(x)
- > d <- c(123,NA,NaN,Inf)
- > is.finite(d)
- [1] TRUE FALSE FALSE FALSE
-
complete.cases(x)
- > d <- c(123,NA,NaN,Inf)
- > complete.cases(d)
- [1] TRUE FALSE FALSE TRUE
|