0
library(Rcpp)
library(geoR)
elevationd=as.matrix(data.frame(xcoords=elevation$coords[,1],
ycoords=elevation$coords[,2], elev=elevation$data))
elevationd
cppFunction('void a(NumericMatrix data){
int nr = data.nrow();
int nc = data.ncol();
NumericVector tmp;
for (int i; i<nr; i++){
tmp[i] = data(i,2);
}
NumericMatrix mat(nr, nr);
for (int i; i<nr; i++){
for (int j; j<nr; j++){
mat(i,j) = (tmp[i] - tmp[j])*(tmp[i] - tmp[j]);
}
}
}')
a(elevationd)
が失敗しましたが、私はこのようなRコードを有しています。rcpp - Rセッション
しかし、私はこれを実装すると、 "R Session Aborted。Rに致命的なエラーが発生しました。セッションが終了しました。"メッセージ。
私は自分のコードに問題が見つかりません。
それはハードウェアの問題がある場合、私は疑問に思う........ない私のコードのTT
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
ディルクにTHX
これは私の編集したコードです。
cppFunction('NumericMatrix f1(NumericMatrix data){
int nr = data.nrow();
int nc = data.ncol();
NumericMatrix mat(nr, nr);
for (int i=0; i<nr; i++){
for(int j=0; j<nr; j++){
mat(i,j) = (data(i,2)-data(j,2))*(data(i,2)-data(j,2));
}
}
return mat;
}')
C++のループに関するチュートリアルを参照してください。 iを値に初期化する必要があります。 – Roland