看板 R_Language 關於我們 聯絡資訊
[問題類型]: 請問 在撰寫shiny app sever時候 如何將: 1. 多個for loop寫在server裡面? 2. 並且shiny可成功畫出rect2D()? 3. 平常要畫df或plot都能成功執行 但若改用shiny (邏輯運算不變 有注意更改input output關係) 卻很常錯誤... 想問說是否有寫法是 直接在shiny 的ui and server 之外 進行邏輯運算 例如for loop? note: 我嘗試google些方法 但我還是不太會套用... 例如:Map() reactive() run後出現錯誤 error: incorrect number of dimensions 不確定是否主因是for loop。但肯定for loop寫在server需要他方法才能過關... 請幫解惑 感恩 [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 同上 問題類型 [程式範例]: https://reurl.cc/WdR5e5 page 1 請存成 ui.R page 2 請存成 server.R 若 粗體字部分 單獨run 可成功 若 紅色部分拿掉 也可成功run shiny page 3 為兩次執行結果 [環境敘述]: [關鍵字]: shiny plot3D rect2D -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.109.158.57 (新加坡) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1588149406.A.BC3.html
cywhale: for本身應該不是問題,此錯誤通常是某個型別出了差錯? 04/29 17:02
cywhale: 你可能要提供較完整可run的程式碼,才能知道哪出問題... 04/29 17:03
locka: 對新手來說shiny可能不work的地方很多,同樓上建議請提供可 04/29 18:20
locka: 執行的程式碼~ 04/29 18:20
theonee: 謝回覆。我剛更新分享檔案 再請指導 感恩~ 04/29 19:23
※ 編輯: theonee (39.109.158.57 新加坡), 04/29/2020 19:25:24
locka: 執行你的程式碼問題應該是出現在 diffdm0 <- rbind() 那行 04/29 21:38
locka: 他把數字都轉型成character 了 所以 for裡面 in1[1,1]:in1[ 04/29 21:38
locka: 2,1]抓到的不是數字0 04/29 21:38
locka: 初步看如果改成 diffm0 <- data.frame(V1=c(0,9),V2=c(0,7) 04/29 21:40
locka: ...V6=c("rx","rx")) 後面就可以成功了(更好的方法就請其他 04/29 21:40
locka: 版友提供了哈哈) 04/29 21:40
locka: btw, 以上只針對 incorrect number of dimensions 這個錯誤 04/29 21:59
locka: ,(後面 setdiff 可能又會衍生其他問題,哈) 04/29 21:59
theonee: 謝L大分享 我試試看 04/29 22:28