作者theonee ()
看板R_Language
標題[問題] shiny sever內寫for loop?
時間Wed Apr 29 16:36:43 2020
[問題類型]:
請問 在撰寫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://webptt.com/m.aspx?n=bbs/R_Language/M.1588149406.A.BC3.html
1F:→ cywhale: for本身應該不是問題,此錯誤通常是某個型別出了差錯? 04/29 17:02
2F:→ cywhale: 你可能要提供較完整可run的程式碼,才能知道哪出問題... 04/29 17:03
3F:推 locka: 對新手來說shiny可能不work的地方很多,同樓上建議請提供可 04/29 18:20
4F:→ locka: 執行的程式碼~ 04/29 18:20
5F:→ theonee: 謝回覆。我剛更新分享檔案 再請指導 感恩~ 04/29 19:23
※ 編輯: theonee (39.109.158.57 新加坡), 04/29/2020 19:25:24
6F:推 locka: 執行你的程式碼問題應該是出現在 diffdm0 <- rbind() 那行 04/29 21:38
7F:→ locka: 他把數字都轉型成character 了 所以 for裡面 in1[1,1]:in1[ 04/29 21:38
8F:→ locka: 2,1]抓到的不是數字0 04/29 21:38
9F:→ locka: 初步看如果改成 diffm0 <- data.frame(V1=c(0,9),V2=c(0,7) 04/29 21:40
10F:→ locka: ...V6=c("rx","rx")) 後面就可以成功了(更好的方法就請其他 04/29 21:40
11F:→ locka: 版友提供了哈哈) 04/29 21:40
12F:→ locka: btw, 以上只針對 incorrect number of dimensions 這個錯誤 04/29 21:59
13F:→ locka: ,(後面 setdiff 可能又會衍生其他問題,哈) 04/29 21:59
14F:→ theonee: 謝L大分享 我試試看 04/29 22:28