JMPのRインターフェースこんにちは、
JMPで実行したいコードをRで記述しました。 コードは次のとおりです。
R init();
//send data to R
R Send(dt);
R submit("
library(spatstat)
#creation fenetre
fenn<-owin(xrange=c(40,760), yrange=c(40,160), poly=NULL, mask=NULL, units=NULL)
ppp<-ppp(x=dt$XM,y=dt$YM,window=fenn)
print(quadratcount(ppp,nx=6,ny=3)
Q<-quadrat.test.ppp(ppp,nx=6,ny=3)
a<-cdf.test(ppp,'x')
D=0
if(a[[2]] & Q[[3]] < 0.1 ){
D=0}else {D=1}
Distribution=as.data.frame(rep(c(D),nrow(dt)))
class(Distribution)
print(a)
");
R term();
次に、それを実行すると、2つの問題が発生しました。
まず、これらの行からエラーが発生します:
fenn<-owin(xrange=c(40,760), yrange=c(40,160), poly=NULL, mask=NULL, units=NULL)
ppp<-ppp(x=dt$XM,y=dt$YM,window=fenn)
それは言う:
エラー:2つの認識されない引数で呼び出された関数boundingbox
さらに:警告メッセージ:
指定されたウィンドウの外側にあるとして2ポイントが拒否されました
実際、40を0に変更すると、すべてのポイントがウィンドウ内にあるため機能しますが、Rでコードを実行すると、すべてのポイントがウィンドウ内にないという事実は問題になりません。 そして、前のコードをRで実行すると、機能します。 そのため、JMPでは警告メッセージが表示されたのにRでは表示されなかった理由がわかりません。
2番目の問題は、データをエクスポートしたいとき、JMPがデータフレームを抽出したくないとき、そしてその理由がわかりません。 私はこのコードを使用します:
ResidJMP = R Get(Distribution);
ResidJMP << New Data View;
R term();
実際、JMPでデータテーブルを返し、それをメインデータテーブルとして使用したいと思います。
データ表他のスクリプティングウィンドウズRe:JMPのRインターフェースこんにちは、
基本的な例として、
R Init(); // Initiate R connection
dt = Open(“$SAMPLE_DATA/Big Class.jmp”,invisible);
R Send(dt);
列の呼び出しは、次の方法で実行する必要があります。
R Submit("
print(dt['weight'])
//b<-dt['weight']/dt['height']
");
それ以外の
R Submit("
print(dt$weight)
//b<-dt['weight']/dt['height']
");
それはあなたの最初の問題の出力を変えるべきだと思います。
Re:JMPのRインターフェースこれをデータに適用すると、使用した列は数値ではないと表示され、as.numeric()関数を使用すると、次のように表示されます。「list」オブジェクトを強制的に「double」と入力することはできません。 この問題は、$呼び出しでは発生しません。 残念ながら、ここには非常に多くの問題があります
Re:JMPのRインターフェースJMPデータテーブルをRのデータフレームとして使用できます。 R Send()関数は、1つのデータ構造を別のデータ構造に自動的に変換します。 簡単な例を次に示します。
Names Default to Here( 1 );
// make sure JMP can find the desired installed version of R
Set Environment Variable( "R_HOME", "C:\Program Files\R\R-4.1.3" );
// use regression example from JMP Sample Data Folder
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// use standard linear model function with data frame
R Init( );
R Send( dt );
R Submit(
"fit <- lm( dt$weight~dt$height )
print( fit )"
);
R Term();
// examine results in Log
したがって、Rコード(関数の引数)、またはデータフレーム内の変数の性質に問題があるのではないかと思います。 関数呼び出しが正しいことを確認したら、Rからデータテーブルを出力して、すべてが期待どおりに転送されたかどうかを確認してください。
Re:JMPのRインターフェースこのコードをRで使用すると
library(spatstat)
data<-read.("Results.csv")
#creation fenetre
fenn<-owin(xrange=c(40,760), yrange=c(40,160), poly=NULL, mask=NULL, units=NULL)
#creation point pattern
ppp<-ppp(x=data$XM,y=data$YM,window=fenn)
plot(ppp)
summary(ppp)
#test quadrat
quadratcount(ppp,nx=6,ny=3)
Q<-quadrat.test.ppp(ppp,nx=6,ny=3)
paste("Ma pvalue du quadrat test ", format(Q[[3]], scientific=TRUE, digits=3))
#test ks
a<-kstest(ppp,'x')
paste("Ma pvalue du KS test ", format(a[[2]], scientific=TRUE, digits=3))
D=character()
if(a[[2]] & Q[[3]] < 0.1 ){
D="Distribution Non-Uniforme"}else {D="Distribution Uniforme"}
Distribution<-rep(c(D),length(XM))
dt<-cbind(dt,Distribution)
それはうまくいきます。 実際、このウィンドウを使用すると、JMPでうまく機能します。
fenn<-owin(xrange=c(0,760), yrange=c(0,160), poly=NULL, mask=NULL, units=NULL)
すべての(x、y)ポイントがウィンドウ内にあるため、必要なウィンドウを配置すると問題が発生します。 しかし、Rではウィンドウの問題はありません。
しかし、変数に問題がある場合、それは他のウィンドウでは機能しないはずであり、これは私が理解していないことです。
コメントにわからないことがあるかもしれませんが、何がエラーなのかわかりません。 RIからJMPに印刷すると、データフレームが良好になります。 私は確かに失われます
Re:JMPのRインターフェースまったく同じコードを使用できるように、R Submit File()関数を使用しようとしています。 しかし、Rにないjmpコードと同じエラーが発生します。 これは私が解決する必要のあるエラーです。 私はたくさんのことを試みますが、なぜそれが現れるのかも理解できません。
Error: Function boundingbox called with 2 unrecognised arguments