[问题] shiny sever内写for loop?

楼主: theonee (红狮子)   2020-04-29 16:36:43
[问题类型]:
请问 在撰写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
作者: cywhale (cywhale)   2020-04-29 17:02:00
for本身应该不是问题,此错误通常是某个型别出了差错?你可能要提供较完整可run的程式码,才能知道哪出问题...
作者: locka (locka)   2020-04-29 18:20:00
对新手来说shiny可能不work的地方很多,同楼上建议请提供可执行的程式码~
楼主: theonee (红狮子)   2020-04-29 19:23:00
谢回复。我刚更新分享档案 再请指导 感恩~
作者: locka (locka)   2020-04-29 21:38:00
执行你的程式码问题应该是出现在 diffdm0 <- rbind() 那行他把数字都转型成character 了 所以 for里面 in1[1,1]:in1[2,1]抓到的不是数字0初步看如果改成 diffm0 <- data.frame(V1=c(0,9),V2=c(0,7)...V6=c("rx","rx")) 后面就可以成功了(更好的方法就请其他版友提供了哈哈)btw, 以上只针对 incorrect number of dimensions 这个错误,(后面 setdiff 可能又会衍生其他问题,哈)
楼主: theonee (红狮子)   2020-04-29 22:28:00
谢L大分享 我试试看

Links booklink

Contact Us: admin [ a t ] ucptt.com