- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 stackoverflow 的新手,进行了很多搜索,但找不到我的问题的答案。我正在尝试使用优化包 Rsolnp 来最小化以下问题。尽管求解器为我提供了解决方案,但每次运行代码时我都会收到以下警告消息:
警告消息:1:在 cbind(temp, funv) 中: 结果的行数不是向量长度(arg 1)的倍数
此外,该解决方案与我使用 ipop 和solve.QP 得到的解决方案完全不同。他们的解几乎相同(0.2480、0.0000、0.0121、0.7400)。我尝试了许多不同的问题表述,但无法弄清楚我做错了什么。我感谢所有的帮助和信息!
library(Rsolnp)
# Starting Values
x0 <- c(0.25,0,0.01,0.75)
fn <- function(x){
d <- c(0.0308, 0.0269, 0.0145, 0.0130)
d <- -d
D <- cbind(c(0.1486, 0.0778, -0.0240, -0.0154),
c(0.0778, 0.1170, 0.0066, 0.0029),
c(-0.0240, 0.0066, 0.0444, 0.0193),
c(-0.0154, 0.0029, 0.0193, 0.0148))
out <- t(d) %*% x + 0.5 * (t(x) %*% D %*% x)
out
}
# Inequality Constraint: 0 =< x 0 =< 1
lx <- rep(0,4)
ux <- rep(1,4)
sol <- solnp(pars = x0,
fun = fn,
eqfun = sum,
eqB = 1,
ineqLB = lx,
ineqUB = ux)
sol$pars
最佳答案
欢迎来到SO。
这里有两个问题:a) 结果问题;b) 一条你无法理解的警告消息。
广告一)这仅仅是因为拉格朗日优化通常是通过最小化负值而不是最大化正值来完成的。这就是区别。将 d
设置为 -d
(我在编辑中这样做)时,解决方案与其他求解器生成的解决方案相同。
广告 b)警告消息问题有点棘手。该消息本身意味着 cbind
尝试绑定(bind)不同长度的两列。 R 的作用是根据需要重复较短列中的值,以获得要绑定(bind)的相同长度的两列。如果较长的值不是较短的值的倍数,您会收到此警告,但如果这意味着存在一些未使用的余数,R 会继续重复较短的值。
但是,软件包中似乎存在错误。当你运行时
options(warn = 2) # turns warnings to errors and breaks code
debug(solnp)
sol <- solnp(pars = x0,
fun = fn,
eqfun = sum,
eqB = 1,
ineqLB = lx,
ineqUB = ux)
您意识到正在创建一个名为 temppdf
的对象,该对象会导致问题。然而,这个对象在 solnp 的代码中再也没有被使用过。我会询问作者,也许他们可以确认这是一个错误或以其他方式显示。
关于Rsolnp : In cbind(temp, funv) :结果的行数不是向量长度(arg 1)的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40927876/
我想我正在寻找 rbind.fill 的类似物(在 Hadley 的 plyr 包中)对于 cbind 。我看了,没有cbind.fill . 我想做的是: #set these just for t
有人知道为什么以下代码的结果不同吗? a [1] "a" "b" "c" "d" colnames(cbind(ts(a),ts(b))) > [1] "ts(a).a" "ts(a).b" "ts
merger <- cbind(as.character(Date),weather1$High,weather1$Low,weather1$Avg..High,weather1$Avg.Low,sa
不知道为什么会这样。我有一个数据框 df2使用以下变量: EVTYPE TOTAL_FATALITIES TOTAL_INJURIES (fctr)
我正在尝试 cbind或 unnest或 as.data.table部分嵌套的列表。 id <- c(1,2) A <- c("A1","A2","A3") B <- c("B1") AB <- li
我有两个数据系列向量。 x = c("100"=2,"200"=2) y = c("150"=3,"200"=2) 我怎样才能合并它们,以便我得到: x y 100 2 N
我有像下面的 biglist 示例这样的数据,它是 2 个 2 个列表的列表。我想将每个列表中的第二个列表 cbind 一起像下面的结果示例一样。通常,我会尝试类似 lapply(biglist,cb
x = iris$Sepal.Width; y = iris$Species; m = cbind(x,y); m 的输出是: x y [1,] 3.5 1 [2,] 3.0
我有两个名为 h 的列表和 g . 它们每个都包含 244 个数据帧,如下所示: h[[1]] year avg hr sal 1 2010 0.300 31 2000 2
我有 94 个制表符分隔文件,没有标题,位于单个目录“/path/”中,第一列中有基因名称,第二列中有计数。有 23000 行。 我想将/path/中的所有 94 个文件读入 R 并合并所有 94
我正在尝试创建数据框的子集,当我这样做时,R切换日期列的格式。知道为什么或如何解决这个问题吗? > head(spyPr2) Date Open High Low Cl
在提问之前,我搜索并阅读了许多关于 stackoverflow 的其他问题,并尝试了 dplyr 包中的 join,但没有一个给出我想要的结果。 我有两个 dfs 并想将它们组合起来,使 df1$co
我对 cbind 的特性有疑问在数据表和数据框中。 如果我要绑定(bind)一个数据框(df)和一个数据表(dt),那么结果对象的类取决于第一个参数。 例子: > dt df dt x y z
这个问题在这里已经有了答案: Error: could not find function ... in R (10 个回答) 6年前关闭。 我正在使用 R: library(qpcR) final<
我在使用 cbind 向数据框中添加列的脚本时遇到了一些问题。我通过正则表达式选择这些列,我喜欢 cbind 在添加多于一列时自动提供前缀。如果您只附加一列,这将不起作用......即使我将此列转换为
我有 L : Var1 Freq 2 1103 6 6 1107 10 10 1112 7 21 1125 6 24 1129 10 31 1137 5 和
我想对两个 lm 输出进行逐列比较。类似这样的事情,除了我希望看到估计值旁边的估计值嵌套到估计值,Std Error 旁边的 Std Error 等。 x=runif(6);y=runif(6
就我而言,我有一个数字向量(future_prices)。我使用来自另一个向量(这里:pred_commodity_prices$futuredays)的日期向量来创建月份的数字。之后,我使用 cbi
如果我错过了这样一个简单问题的答案,请原谅我。 我想使用 cbind()绑定(bind)两列。其中之一是长度较短的单个条目。 我可以让 R 提供 NA对于缺失值? 该文档讨论了 deparse.lev
当使用cbind函数组合2个或更多矩阵时,生成的矩阵将继承列名称。下面是一个简单的例子来说明这一事实。我有两个 (2x2) 矩阵 m1 和 m2。 m1 的列是 a 和 b; m2 的列是 c 和 d
我是一名优秀的程序员,十分优秀!