小编use*_*193的帖子

如何在R中使用带参数的函数

我试图在R中使用optim函数 - 我对此没有任何问题:

funk=function(param){
  x=c(1,2,3,4,5)
  z=c(3,4,2,2,1)
  y=c(30,40,22,33,40)
  a=rep(param[1],5)
  b=param[2]
  d=param[3]
  fit=sum((y-(a+b*x+z*d))^2)
  return(fit)
}

optim(par=c(1,1,1),fn=funk)
Run Code Online (Sandbox Code Playgroud) #

但是一旦我不想将我的数据(x,y,z)硬编码到函数中我就会遇到问题.当函数输入不仅仅是要优化的参数时,如何优化函数优化?理想情况下,我会传递xx,zz,yy的值然后优化,然后移动到xx,zz,yy的不同值并接下来优化该情况.

xx=c(1,2,3,4,5)
zz=c(3,4,2,2,1)
yy=c(30,40,22,33,40)

funk=function(param,x,y,z){
  a=rep(param[1],5)
  b=param[2]
  d=param[3]
  fit=sum((y-(a+b*x+z*d))^2)
  return(fit)
}

optim(par=c(1,1,1),fn=funk(param=c(0,0,0),x=xx,y=yy,z=zz))
Run Code Online (Sandbox Code Playgroud)

(函数(par)中的错误:找不到函数"fn"

r mathematical-optimization

11
推荐指数
1
解决办法
2万
查看次数

如何在 R 中创建对象名称

我想使用变量的值作为对象名称的一部分来创建新对象,其名称不必显式列出。一个例子:

这是我不想做的,声明列表中从 1 到 10 的 10 个对象的每个名称。

a=41:50

a1=a[1]
a2=a[2]
a3=a[3]
a4=a[4]
a5=a[5]
a6=a[6]....
Run Code Online (Sandbox Code Playgroud)

这是更有意义的 - 只需将名称作为“a”,然后与循环中的 i 值组合即可。做同样的事情,创建 10 个对象。

for(i in 1:10){
a#paste.in.the.value.of.i.somehow...=a[i]
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

r object names

5
推荐指数
1
解决办法
4021
查看次数

rgb透明色在plotly和R.

我试图获得一个填充区域为半透明紫色的图形图形.我可以找到rgb指定正常并让它在一个简单的情节中工作.但似乎情节并没有以通常的方式阅读rgb?

plot(rnorm(10),col="#A020F066",pch=15,cex=13)
# plots squares that are transparent purple (expected)
Run Code Online (Sandbox Code Playgroud)

情节与紫色方块

p=plot_ly(x=c(1,2,3,4),y=c(1,2,5,10),type="scatter",line=list(color="red"))
p=add_trace(p,x=c(1,2,3,4),y=c(11,12,15,20),type="scatter",
        fillcolor="#A020F066",fill="tonexty",
        line=list(width=10),marker=list(size=10))
p
# plots area that is transparent mint green (What? I expected purple)
Run Code Online (Sandbox Code Playgroud)

情节与绿色填充

rgb r plotly

2
推荐指数
1
解决办法
5843
查看次数

标签 统计

r ×3

mathematical-optimization ×1

names ×1

object ×1

plotly ×1

rgb ×1