我有一个闪亮的应用程序,我需要从另一台服务器获取其数据,即当闪亮的应用程序打开时,另一台服务器向闪亮的应用程序发送请求以打开应用程序并为其提供所需的数据.
为了模拟这个,当我在firefox中打开应用程序时,我可以将以下内容发送到R闪亮的应用程序:
http://localhost:3838/benchmark-module/?transformerData=data/TransformerDataSampleForShiny.json
Run Code Online (Sandbox Code Playgroud)
这是一个简单的get请求,它将带有内容"data/TransformerDataSampleForShing.json"的名为"Transformer Data"的sting发送到闪亮的应用程序.
当我使用代码时它工作正常:
#(Abridged code, I am only showing the start of the code)
shinyServer(function(input, output) {
jsonFile <- "data/TransformerDataSampleForShiny.json"
JSONdata <- fromJSON(jsonFile)
Run Code Online (Sandbox Code Playgroud)
但是当我想做同样的事情,除了硬编码字符串"data/TransformerDataSampleForShiny.json"之外,我想从上面的http请求中接收该字符串.我该怎么做呢??我试过这段代码:
shinyServer(function(input, output) {
jsonFile <- input$transformerData
JSONdata <- fromJSON(jsonFile)
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
....
jsonFile <- input$TransformerData
Run Code Online (Sandbox Code Playgroud)
但这些都没有奏效.
所以主要的问题是,我如何编码来接收HTTP请求?我想从POST请求接收来自HTTP GET请求和/或JSON文件的字符串.
只是为了澄清我不想发送帖子或从R获得请求.我想收到它们.我无法使用httr包或httpRequest包进行接收
非常感谢!
如何使用从反应包装器中的renderUI元素获取的值?
即我的代码:
CompanyNames <- sqlQuery(connection, "SELECT Companynm FROM RiskMgm_Company")
output$CompNameSelector <- renderUI({
selectInput("compName","Company Name:",as.vector(CompanyNames[,1]))
})
CompID <- reactive({
CompID <<- sqlQuery(paste("SELECT CompanyID FROM RiskMgm_Company WHERE Companynm = '",compName,"'"))
})
output$MotorSelector <- renderUI({
selectInput("MachSer","Machine:",sqlQuery(connection,paste("SELECT Motor_func FROM RiskMgm_Motor WHERE Company_ID='",CompID,"'")))
})
Run Code Online (Sandbox Code Playgroud)
我的错误:
Successfilly opened connection to db
Error in paste("SELECT CompanyID FROM RiskMgm_Company WHERE Companynm = '", :
could not find function "compName"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?基本上我想要的是SQL查询给出的公司列表.然后,根据所选公司的不同,它将在下一个下拉框中显示属于该公司的电机
谢谢
我正在阅读关于R-bloggers的博客文章,我对代码的最后一部分感到困惑,无法弄明白.
http://www.r-bloggers.com/self-organising-maps-for-customer-segmentation-using-r/
我试图用我自己的数据重新创建它.我有5个变量遵循2755点的指数分布.
我很好,可以绘制它生成的地图:
plot(som_model, type="codes")
Run Code Online (Sandbox Code Playgroud)

我不理解的代码部分是:
var <- 1
var_unscaled <- aggregate(as.numeric(training[,var]),by=list(som_model$unit.classif),FUN = mean, simplify=TRUE)[,2]
plot(som_model, type = "property", property=var_unscaled, main = names(training)[var], palette.name=coolBlueHotRed)
Run Code Online (Sandbox Code Playgroud)
据我所知,代码的这一部分假设是在地图上绘制其中一个变量以查看它的外观,但这是我遇到问题的地方.当我运行代码的这一部分时,我收到警告:
Warning message:
In bgcolors[!is.na(showcolors)] <- bgcol[showcolors[!is.na(showcolors)]] :
number of items to replace is not a multiple of replacement length
Run Code Online (Sandbox Code Playgroud)
它产生了情节:

哪个只是一些看起来不正确...
现在我认为它归结为聚合函数重新排序数据的方式.var_unscaled的长度是789,som_model $ data,training [,var]和unit.classif的长度都是2755的长度.我尝试绘制聚合数据,结果没有警告,但是一个难以理解的图形(如预期的那样).
现在我认为它已经这样做了,因为unit.classif里面有很多重复的数字,这就是为什么它的大小减小了.
问题是,我是否担心警告?它是否产生了准确的图表?在"情节"命令中寻找的"财产"部分究竟是什么?有没有不同的方法可以"聚合"数据?
我需要使用:
session$clientData$url_search
Run Code Online (Sandbox Code Playgroud)
这是一个反应式表达式,但我不想在反应式包装器中使用它,即
sessionData <- reactive({
sessionData <- session$clientData$url_search
})
Run Code Online (Sandbox Code Playgroud)
现在有没有办法以非反应性方式使用此会话数据?IE
url <- paste("http://example.web.ninja/,sessionData,sep="")
URLdata <- fromJSON(file=url,method='C')
Run Code Online (Sandbox Code Playgroud)
无需使用:
URLdata <- reactive({
url <- paste("http://example.web.ninja/,sessionData(),sep="")
URLdata <- fromJSON(file=url,method='C')
})
Run Code Online (Sandbox Code Playgroud)
谢谢
我知道当你使用单选按钮时,如果要使用数字,则需要将变量设置为IntVar().不幸的是,我在下面运行的代码出现以下错误:
Traceback (most recent call last):
File "F:/Analysis and Maths/PD diagnostic tool/Project files/PD Tool v2.py", line 49, in <module>
v = IntVar()
File "C:\Python34\lib\tkinter\__init__.py", line 354, in __init__
Variable.__init__(self, master, value, name)
File "C:\Python34\lib\tkinter\__init__.py", line 236, in __init__
self._root = master._root()
AttributeError: 'NoneType' object has no attribute '_root'
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样?我想要做的是使用radiobuttons更改加载到pygame中的图像
v = IntVar()
class Window(Frame):
def __init__(self, master=None): # This defines the main window
Frame.__init__(self, master)
self.master = master
self.init_window()
def init_window(self):
global v
self.master.title("PD Tool")
self.pack(fill = BOTH, expand = …Run Code Online (Sandbox Code Playgroud)