10. Rcppの基本データ型
??Matrix
R Rcpp C++
logial Logical bool
integer Integer int
numeric Numeric double
complex Complex complex
character String string
Date Date -
POSIXct Datetime -
注:正確にはRcppに基本データ型として定義されているのは下の3つだけ
他は、ベクター、マトリックス型だけが定義されている
16. Rcppオブジェクトの注意点
Rcpp
x<-1:5
myFunc(x)
x B A
A の変更は x に影響しない
NumericVector
myFunc(NumericVector A){
A[0]=100;//①
NumericVector B=A;//②
B[1]=200;
return(A);
}//A==c(100,200,3,4,5)B の変更が A に影響する?
変数→
①代入時に値がコピーされる
②
メモリー
17. Rcppオブジェクトの注意点
メモリー
NumericVector
myFunc(NumericVector A){
A[0]=100;//①
NumericVector B=clone(A);
B[1]=200;
return(A);
}//A==c(100,2,3,4,5)
x<-1:5
myFunc(x)
x
B の変更が A に影響しない
B A
clone()で値をコピーする
Rcpp
A の変更は x に影響しない
コピー
変数→
①代入時に値がコピーされる
②