如何使用R函數創建應用程序<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我會非常感謝任何幫助,因為我是JMP的新手我正在努力一點!
我想在我用R代碼編寫的函數中創建一個JMP(可以由我需要使用的其他人使用)的工具(將是一個加入?)。
那可能嗎?我已經讀過它,但我甚至不知道從哪裡開始。
我需要這個工具讓用戶輸入3個文件路徑並讓R函數使用它們。
謝謝您的幫助
Re:如何使用R函數創建應用程序最後我使用了Add-in構建器(JMPer Cable Newsletter中的第14頁末尾),它似乎工作得非常好並且很容易做到!
Re:如何使用R函數創建應用程序它當然可以簡單地說,目前我只有JMP 10的試用版......
我將在下週結束真實的事情,所以我會再試一次。
Re:如何使用R函數創建應用程序我堅持第3步,似乎什麼也沒發生......
我一定做錯了什麼:
我打開了一個新腳本並輸入了
registerAddin(
“com.myCompany.myAddin”,
“C:/用戶/.../桌面/ myAddinFolder”
);
當我跑的時候沒有任何反應,
我認為應該發生一些事情,以便我可以繼續進行第4步?
非常感謝您的幫助
Re:如何使用R函數創建應用程序最近的JMPer電纜的第14頁包括製作插件
http://jmp.com/about/newsletters/jmpercable/pdf/27_winter_2011.pdf
我認為電纜中的說明可能比我想出的要好一些。 我一直在跟著他們寫信來創建插件,我組織中的任何人都可以安裝,而無需任何驅動器映射或任何東西。
除了Cable中的說明之外,我做的一件事是,一旦我註冊了插件並且我正在自定義我的菜單/工具欄,我點擊頂部的“更改”按鈕並選擇我正在製作的插件一個菜單/工具欄,它將自定義保存到工作文件夾。
希望這可以幫助。
Re:如何使用R函數創建應用程序我已經有了工作,不完全是我想要的,但無論如何還是一個體面的初稿。
你認為你可以告訴我如何從腳本創建工具(“工具欄上的按鈕”)?
謝謝!
Re:如何使用R函數創建應用程序是的,這完美無缺。謝謝!
Re:如何使用R函數創建應用程序如果Names = {{“t1”,“t2”}};嘗試Names [1] - 應該將列表嵌套在列表中。
Re:如何使用R函數創建應用程序好的問題似乎是在我的腳本中有兩個“{”而不是一個......
我剛剛測試了Names = {“t1”,“t2”}和Names = {{“t1”,“t2”}}
所以我將不得不嘗試找出解決這個問題的方法。
對不起!
Re:如何使用R函數創建應用程序它與Names = {“test1”,“test2”,“test3”}完美配合;
但當我將鼠標懸停在我的腳本中的名字上時,它顯示我:
名稱
{{“V1”,“V2”,
...............
我認為它確實包含了列表,而測試是R中的列表(我甚至添加了測試行<-as.list(測試)以確保)。
這可能是項目太多了嗎?雖然我確實添加了參數來使窗口更大但似乎沒有任何區別。
除此之外,我真的不知道我做錯了什麼,我已經在這裡待了好幾個小時......
Re:如何使用R函數創建應用程序你確定Names包含一個列表嗎?
嘗試使用Names = {“test1”,“test2”,“test3”}替換第一行代碼;
這將驗證JSL部分是否正常工作,然後您可以查看從RGet函數返回的內容
Re:如何使用R函數創建應用程序謝謝戴夫!
我決定最後使用List Box,因為它更符合我的需要。
所以我現在有這個:
名稱= R Get(測試);
nw =新窗口(“測試”,<<模態,
V列錶框(
複選框(名稱,<<獲取選定),
H列錶框(
按鈕框(“Ok”,tname = Names << get text; cancel = -1;),
按鈕框(“取消”,取消= 1;)
)
)
);
if(cancel!= - 1,Stop(););
但出於某種原因,在我的窗口中我只有“名字”列表中的第一項 - 任何想法可能是什麼?我檢查了名字,它確實包含了我投入的所有三十件物品,所以我真的不明白為什麼會發生這種情況......
Re:如何使用R函數創建應用程序V列錶框功能接收一個或多個顯示框,每個顯示框用逗號分隔。 因此,在Check Box行中,用逗號(,)替換分號(;)。
戴夫
Re:如何使用R函數創建應用程序謝謝,
這非常好,非常有用!
但是,我遇到了問題,似乎無法在任何地方找到答案。
我有一個名單列表,我想創建一個新窗口,用戶可以在其中選擇一個名稱。
我試過這個:
名稱= R Get(測試);
nw =新窗口(“測試”,<<模態,
V列錶框(
複選框(姓名);
H列錶框(
按鈕框(“Ok”,tname = Names << get text; cancel = -1;),
按鈕框(“取消”,取消= 1;)
)
)
);
if(cancel!= - 1,Stop(););
我知道我必須在這裡做錯事但我無法弄清楚是什麼......
我期待看到一個帶有復選框列表的窗口,然後在下面“確定”和“取消”,但我得到的只是“確定”和“取消”。
我會非常感謝任何幫助。
Re:如何使用R函數創建應用程序你可能會在這裡找到一些有用的東西
http://www.pega-analytics.co.uk/learning-zone/jmp-r-integration/
Re:如何使用R函數創建應用程序哎呦! mewing@eastman.com
Re:如何使用R函數創建應用程序它出現在 ...
如果您給我發送一封空白電子郵件,那麼我就在那裡,然後我可以發給您代碼
Re:如何使用R函數創建應用程序當然,如果你將鼠標懸停在我的名字上,你應該會看到我的電子郵件地址。
Re:如何使用R函數創建應用程序謝謝,我開始明白了
我的R腳本由3個函數組成,
-read_table(文件,n)的
-Summary_Table(文件1,文件2,文件3,n)的
-Test_tables(文件1,文件2,文件3,N,T)
我現在看到如何獲取n和t但是如何獲取不同的文件(文件是用戶事先選擇的文件,我使用路徑=選擇文件(“你想要哪個文件?”);如你所建議的那樣) ?
我可以通過電子郵件向您發送R腳本,以便您可以更好地了解我正在嘗試做什麼嗎?
Re:如何使用R函數創建應用程序你的問題並不荒謬,每個人都是新的一次(除了發明它的人)。
假設您已經在R中編寫了一個函數,如下所示:
r6 <- 0
k <- 6
for(i in 1:100000){
x <- rnorm(k+1)
m.i <- 1
for(j in 2:(k+1)){
if(m.i==1&x>x[j-1]){m.i <- 1}else{m.i <- 0}
}
m.d <- 1
for(j in 2:(k+1)){
if(m.d==1&x
}
r6 <- r6+m.i+m.d
}
perc.ooc <- r6/100000*100
這只是一個腳本,估計連續六個點的概率從隨機正常(0,1)分佈增加或減少(它與我現在正在做的一些東西有關,這就是為什麼我正在使用它) 。 讓我們說我想讓用戶將此規則的'k'值從6更改為他們選擇的任何內容。 我可以通過幾種方式來解決這個問題,但我只會展示一個使用上述所有工具的方法。
首先,我有一個對話框窗口,提示用戶輸入值:
nw = New Window("Value for k?",<
kval = k << Get();
現在我將該值發送給R:
rconn << Send(kval,R Name("k");
現在,在我的R會話中(對用戶是不可見的),有一個名為'k'的變量,其中包含用戶在對話框中指定的任何值。
現在我想運行我的代碼:
rconn << Submit("
r6 <- 0
for(i in 1:100000){
x <- rnorm(k+1)
m.i <- 1
for(j in 2:(k+1)){
if(m.i==1&x>x[j-1]){m.i <- 1}else{m.i <- 0}
}
m.d <- 1
for(j in 2:(k+1)){
if(m.d==1&x
}
r6 <- r6+m.i+m.d
}
perc.ooc <- r6/100000*100
");
注意,我從我的代碼中刪除了類似k < - 6,因為我已經將該信息發送給R.現在,最後一步是我想讓百分比失去控制所以:
percentOOC = R Get(perc.ooc);
我現在可以在新窗口中顯示此信息:
nw = New Window("Results",Show Menu(0),Show Toolbars(0),Text Box("Percent out of control is " || Char(percentOOC) || "%"));
現在,所有這些都存儲在JSL腳本文件中,因此不需要打開R腳本窗口。
如果你還有問題,你可以發布R腳本(在這里或PM我,我可以幫你把它放在一起)?
至於將其添加為按鈕,這很簡單,但我會在我們讓您的腳本運行後發佈如何做到這一點。
Re:如何使用R函數創建應用程序謝謝您的幫助!
但是我仍然有一些問題,因為我說我對此很新,所以我可能會有一些簡單的事情......
如果我用這個:
rconn <<提交(“name.in.R < - ”|| Char(JMP變量));
rconn <<提交(“
輸出< - R.function(name.in.R)
sapply(輸出,平均值)
“);
“name.in.R”是我用R寫的函數的名字嗎?如果是這樣那麼這是否意味著每次我想在JMP中使用此工具時,還必須使用該函數的腳本打開R腳本窗口?
或者在那個空間我應該能夠寫出我的整個函數(我的意思是函數的完整腳本)?它似乎對我不起作用......
一旦這個腳本在JMP中編寫,我是否能夠在工具欄中添加一個圖標,以便其他所有人都可以單擊並輸入文件以查看圖形和表格?
非常感謝你的幫助,如果我的問題很荒謬,那就再次感到抱歉。
Re:如何使用R函數創建應用程序 這很容易做到。 您需要做的第一件事是在JMP中創建某種GUI,允許用戶輸入3個文件路徑。 這可以通過以下幾種方式完成:
dir = Pick Directory("Where is the file stored?");
這將向用戶顯示目錄瀏覽器,以選擇將存儲具有一致名稱的文件的目錄。
要么
path = Pick File("Which file do you want?");
這將向用戶顯示文件瀏覽器以選擇特定文件。
接下來,您需要建立R連接。
rconn = R Connect();
現在,您有兩種方法將信息傳遞給R,第一種方法是
rconn << Send(JMPvariable,R Name("name.in.R"));
要么
rconn << Submit("name.in.R <- " || Char(JMPvariable));
rconn << Submit("
output <- R.function(name.in.R)
sapply(output,mean)
");
第一種方法只是發送一個變量並在R中初始化它。第二種方法允許你提交你想要的任何R代碼(包括你寫的函數)。
為了擺脫R
JMPvariable = R Get(name.in.R);
需要注意的幾件事 - 將代碼發送到R需要JMP一點額外的時間 - 在運行JSL腳本時,運行R可能需要一秒鐘才能運行幾秒鐘。 不錯的是,你可以使用JMP來製作R不能做的漂亮輸出。
如果您有任何後續問題,請詢問,我將訂閱該主題。