我使用excel求解器来解决优化问题,我试图在R中复制它.
我找到了许多软件包,如optim,ROI等,但似乎所有这些软件包只将一个向量作为优化对象并允许变量采用任何连续值.在我的例子中,我有一个约束矩阵,也需要满足,我的变量只能采用二进制值.
这是我想要解决的问题:
AD是机器,1-3是任务,第一个矩阵中的数字是使用X机器执行Y任务生成的值.约束是:AD可以做,只能做一个任务(不能拆分); 每个任务都可以工作,只能由一台机器完成.
这是我正在使用的代码:
par = rep(c(0,1),6)
mat <- matrix(c(9,10,11,4,5,10,1,3,5,7,5,4), nrow = 3)
fr <- function(x) {
y= matrix(x,nrow = 4)
sum(mat %*% y)
}
a = optim(par, fr)
Run Code Online (Sandbox Code Playgroud)
一些问题:如何优化最大值,这个函数默认优化最小值?如何在其中添加约束?我怎样才能限制二进制变量?
我renderDataTable在R&Shiny中使用来呈现我的数据,但过滤器位于表格的底部.有没有办法把它放在桌子的顶部?提前致谢!
顺便说一句,我在哪里可以找到选项列表renderDataTable?
mainPanel(
tabsetPanel(
tabPanel("Table",tableOutput("values")),
tabPanel("Tree Plot",plotOutput("plot")),
tabPanel("Segment Data",dataTableOutput("obs"))
Run Code Online (Sandbox Code Playgroud)
我不熟悉CSS,有人可以给我一些关于如何在R函数内编辑CSS的建议吗?
我在服务器端有每天的数据,想根据日期输入加载数据
在服务器端,我有这个:
dateInput("date","Enter a date:",value = "2014-01-13"))
Run Code Online (Sandbox Code Playgroud)
在用户界面方面,
library(shiny)
library(googleVis)
library(rpart.plot)
load("data_2014_01_13_new.RData") #seg and fit are data in this file
shinyServer(function(input, output) {
output$values <- renderGvis({
gvisTable(seg[seg$rate >= input$test[1] & seg$rate <= input$test[2],])
})
output$plot <- renderPlot({
prp(fit,extra=T)
})
})
Run Code Online (Sandbox Code Playgroud)
我想将负载加载到服务器功能中,并且可以随着日期的变化加载不同的数据。谢谢!
我正在使用闪亮来构建一个Web应用程序.某些步骤需要一些时间来计算,因此我想在闪亮的应用程序中添加流程指示器中的计算.
我在堆栈溢出中更改选项卡面板时发现显示Shiny正忙(或加载),但shinyIncubator包接缝需要指定min和max.
然后我找到了这个博客:http://withr.me/blog/2014/01/03/add-calculation-in-process-indictor-for-shiny-application/他提供了一个很好的方法来做到这一点.
shinyUI(bootstrapPage(
# Add custom CSS & Javascript;
tagList(
tags$head(
tags$link(rel="stylesheet", type="text/css",href="style.css"),
tags$script(type="text/javascript", src = "busy.js")
)
),
div(class = "busy",
p("Calculation in progress.."),
img(src="http://imageshack.us/a/img827/4092/ajaxloaderq.gif")
),
div(class = "span4", uiOutput("obs")),
div(class = "span8", plotOutput("distPlot"))
))
Run Code Online (Sandbox Code Playgroud)
Java脚本;
setInterval(function(){
if ($('html').attr('class')=='shiny-busy') {
setTimeout(function() {
if ($('html').attr('class')=='shiny-busy') {
$('div.busy').show()
}
}, 1000)
} else {
$('div.busy').hide()
}
}, 100)
Run Code Online (Sandbox Code Playgroud)
style.css文件
div.busy {
position:absolute;
top: 40%;
left: 50%;
margin-top: -100px;
margin-left: -50px; …Run Code Online (Sandbox Code Playgroud) 我正在使用包中的prp函数rpart.plot来绘制树。对于状态之类的分类数据,它给出了很长的变量列表,并使可读性降低。如果超过一定长度,是否可以将文本包装为两行或更多行?
我正在使用R shiny来开发Web应用程序.现在我想从多个选择中做多个选择(不只是一个).我尝试了checkboxGroupInput,但它会给出一个很长的列表.什么功能可以创造这样的东西?谢谢!

我正在使用gbm来预测二进制响应.当我设置cv.folds = 0时,一切都运行良好.但是当cv.folds> 1时,我得到错误:Error in object$var.levels[[i]] : subscript out of bounds当交叉验证的第一次激怒完成时.有人说这可能是因为一些因子变量在训练或测试数据中缺少水平,但我尝试只使用数值变量仍然得到这个错误.
> gbm.fit <- gbm(model.formula,
+ data=dataall_train,
+ distribution = "adaboost",
+ n.trees=10,
+ shrinkage=0.05,
+ interaction.depth=2,
+ bag.fraction = 0.5,
+ n.minobsinnode = 10,
+ train.fraction=0.5,
+ cv.folds=3,
+ verbose=T,
+ n.cores=1)
CV: 1
CV: 2
CV: 3
Error in object$var.levels[[i]] : subscript out of bounds
Run Code Online (Sandbox Code Playgroud)
有人对此有一些见解吗?谢谢!
回答我的问题:问题解决了.这是因为这个函数中的一个bug.输入数据不能包含模型中变量以外的变量.
我正在使用R shiny来开发交互式分析工具.现在我想根据变量checkGroupInput做分类树.如何选择该数据子集?谢谢!
用户界面:
dateInput("date","Enter date:",value = date),
checkboxGroupInput("variable", "Variable:",
choices = names ,selected = names
)
Run Code Online (Sandbox Code Playgroud)
服务器我试过,但不起作用:
dataall <- reactive({
filename <- paste0("dataall_'", input$date, "'.RData")
load(filename)
feature.test[,names(feature.test) %in% input$variable]
})
Run Code Online (Sandbox Code Playgroud)
feature.test是加载文件中的数据.
我试图使用cox模型来预测一段时间后失败的概率(名为stop)3.
bladder1 <- bladder[bladder$enum < 5, ]
coxmodel = coxph(Surv(stop, event) ~ (rx + size + number) +
cluster(id), bladder1)
range(predict(coxmodel, bladder1, type = "lp"))
range(predict(coxmodel, bladder1, type = "risk"))
range(predict(coxmodel, bladder1, type = "terms"))
range(predict(coxmodel, bladder1, type = "expected"))
Run Code Online (Sandbox Code Playgroud)
但是,预测函数的输出都不在0-1范围内.是否有任何功能或如何使用lp预测和基线危险函数来计算概率?