作者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/cn.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