小编use*_*123的帖子

在R中使用optim

我正在尝试使用R中的optim函数来优化模型中的三个参数,但无法弄清楚如何使用"优化"函数来搜索一系列值.我尝试使用for循环来做这个,这是我尝试中最成功的但是由于某种原因似乎停在355的值,理想情况下我想尝试更高的组合.除此之外,我尝试编写多次调用optim的函数,尝试向量化并尝试将列表值放入optim中的"par"参数中,但是所有这些尝试都产生了错误消息

"unable to evaluate at initial parameters".
Run Code Online (Sandbox Code Playgroud)

很长的任何人都知道如何使用optim函数搜索参数的一系列值,因为"优化"函数会???

任何帮助或指示将非常感谢!!!

我的代码看起来像:它是相应比例的三个最大似然函数,然后是三次尝试使用optim!

rm(list=ls())

load('Dat.RData')

mean(dat)
var(dat)


loglike<-function(par,dat,scale)
{ ptp<-dat[1:length(dat)-1]
  ptp1<-dat[2:length(dat)]

  r<-par['r']
  k<-par['k']
  sigma<-par['sigma']

  if(scale=='log')
  {
    return(sum(dnorm(log(ptp1)-log(ptp)*exp(r-(ptp/k)),mean=0,sd=sigma,log=T)))
  }

  if (scale=='sqrt')
  {
    return(sum(dnorm(sqrt(ptp1)-sqrt(ptp)*exp(r-(ptp/k)),mean=0,sd=sigma,log=T)))
  }

  if (scale=='linear')
  {
    return(sum(dnorm(ptp1-ptp*exp(r-(ptp/k)),mean=0,sd=sigma,log=T)))
  }
}

sqrts<-c()
for(i in 1:4000){
  sqrts[i]<-optim(par=c(r=i,k=i,sigma=i),fn=loglike,dat=dat,scale='sqrt',method='Nelder-Mead',control=list(fnscale=-1))

}

logs<-c()
for(i in 1:4000){
  logs[i]<-optim(par=c(r=i,k=i,sigma=i),fn=loglike,dat=dat,scale='log',method='Nelder-Mead',control=list(fnscale=-1))

}

lins<-c()
for(i in 1:4000){
  lins[i]<-optim(par=c(r=i,k=i,sigma=i),fn=loglike,dat=dat,scale='linear',method='Nelder-Mead',control=list(fnscale=-1))

}
Run Code Online (Sandbox Code Playgroud)

非常感谢!!

r

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

for 循环中的错误“TypeError:'int' 对象不可调用”

我正在尝试根据另一个列表中的序列规则 n(n+1)/2 打印出一些值,到目前为止:

for i in range(0,5):
 print LHS[(i(i+1))/2]
Run Code Online (Sandbox Code Playgroud)

为什么这行不通但没问题print LHS[i]

然而,这引发了标题中的错误。我不明白为什么这在 Python 中不起作用。

如果有人可以帮助我将不胜感激!!

python

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

使用vim仅保留范围内的行

我想知道在VIM中是否有办法只保留一定范围内的行,即说我想在文件中仅保留1:20行,并丢弃其他所有内容.更好的是,我想保留1-20和40-60行是否有办法做到这一点?

有没有办法在不手动删除内容的情况下执行此操作?

vim

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

更改数据框列表中的第一个colname

我有一个数据帧列表,我正在尝试使用lapply方法更改第一个colname

frames<-lapply(frames,function(x){ colnames(frames[[x]])[1]<-"date"})
Run Code Online (Sandbox Code Playgroud)

正在返回错误

Error in `*tmp*`[[x]] : invalid subscript type 'list'
Run Code Online (Sandbox Code Playgroud)

我不确定为什么它会产生这个错误,因为我的理解是这应该适用

colname[1]<-"date"
Run Code Online (Sandbox Code Playgroud)

到列表中的每个数据框

如果有人能告诉我这个错误的根源,我将非常感激!

r

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

使用 ggplot2 使用坐标绘制圆

如果我有两组坐标,其中 x 和 y 代表圆心,大小代表圆半径,我将如何在 ggplot2 中用它们绘制圆?我看到了这个问题,但它是关于绘制一个圆圈,我找不到使用散点图复制它的方法。

示例数据:

         x           y     sizes
  0.95285914  0.06596914 0.8868900
  -1.59822942  0.71052036 2.3087498
   0.39216559  0.58428603 0.1921204
   0.16559318 -0.99303562 1.1586288
  -0.43047728 -0.96649463 0.5360174
  -0.73746484 -0.21143717 0.5260277
   0.58779207  0.08073626 0.5070558
   0.74936811  0.54462816 0.2047399
  -0.01587290 -0.14835109 0.1324782
 -0.06573365  0.33317857 0.3989122
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

编写R代码的最佳实践

嗨我刚才有一个关于使用多个函数编写更快的R脚本的快速问题:假设每个示例中的内容完全相同,以下哪个会运行得更快?功能内的功能即

function(args)
{
function_using_previous_function_output(args)
{ manipulation of arguments}

}
Run Code Online (Sandbox Code Playgroud)

将东西传递给彼此之外的函数:

function(args)
{return(output}
}

function_using_previous_function_output(output)
{
manipulation of arguments
}
Run Code Online (Sandbox Code Playgroud)

这些风格或优化是否有最佳实践?

非常感谢!

r

0
推荐指数
1
解决办法
225
查看次数

在python中汇总csv列表的元素

我有一个csv列表列表,如:

[[0, 0], [0, 2], [1, 1], [2, 0], [0, 3], [1, 2], [2, 1], [3, 0]]
Run Code Online (Sandbox Code Playgroud)

我想要做的是对每个单独的列表求和,即创建一个由每个逗号分隔变量求和组成的新列表,并检查它们是否等于某个值,即:

检查[0 + 0,0 + 2,1 + 1,2 + 0 .....等于某个数字

我已经达到了:

 if sum(gcounter)==3:
   gamma=True
   print(gamma)
 else:
   pass
Run Code Online (Sandbox Code Playgroud)

我已经尝试了sum(int ...,并尝试使用for循环,但每次尝试不同的方法时它都会抛出相同的错误TypeError:不支持的操作数类型为+:'int'和'list'所以它是sum函数的一个问题

试图解决这个问题坦率地让我感到无精打采,非常感谢任何帮助!

python

0
推荐指数
1
解决办法
81
查看次数

删除R中的行计数器

我想知道何时使用R,如果有办法删除行计数器.即说我跑步seq(0,10,0.01)和得到

[1]  0.00  0.01  0.02  0.03  0.04  0.05  0.06  0.07  0.08  0.09  0.10  0.11
  [13]  0.12  0.13  0.14  0.15  0.16  0.17  0.18  0.19  0.20  0.21  0.22  0.23
  [25]  0.24  0.25  0.26  0.27  0.28  0.29  0.30  0.31  0.32  0.33  0.34  0.35
  [37]  0.36  0.37  0.38  0.39  0.40  0.41  0.42  0.43  0.44  0.45  0.46  0.47
  [49]  0.48  0.49  0.50  0.51  0.52  0.53  0.54  0.55  0.56  0.57  0.58  0.59
  [61]  0.60  0.61  0.62  0.63  0.64  0.65  0.66  0.67  0.68  0.69  0.70 …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
109
查看次数

R中的聚合仅保留单个值

我有一个我希望聚合的数据框,删除我想要用于聚合的列中不是NA(或选择唯一行)的行

即在下面我可能想删除数据框中每周有NA的每一行,并保持其他行不被修改:

  OTHER_REV        month quarter year       week       date       days daysinmonth
1          2785013     1 2009 Q1 2009 2009-01-05 2009-01-05 2009-01-05          31
2          2785013     1 2009 Q1 2009 2009-01-12 2009-01-05 2009-01-05          31
3          2785013     1 2009 Q1 2009 2009-01-19 2009-01-05 2009-01-05          31
4          2785013     1 2009 Q1 2009 2009-01-26 2009-01-05 2009-01-05          31
5          2785013     1  NA QNA 2009       <NA> 2009-01-16 2009-01-16          31
6          2785013     1  NA QNA 2009       <NA> 2009-01-17 2009-01-17          31
Run Code Online (Sandbox Code Playgroud)

生产:

  OTHER_REV        month quarter year       week       date       days daysinmonth
1 …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
99
查看次数

逃避感叹号python

我正在尝试提供带有感叹号的密码作为密码的一部分,以解决zipfile的extractall功能:

zf.extractall(pwd="password2015!")
Run Code Online (Sandbox Code Playgroud)

我曾尝试过:将pwd作为字符串提供,这会返回一个类型错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\lib\zipfile.py", line 1240, in extractall
    self.extract(zipinfo, path, pwd)
  File "C:\Python34\lib\zipfile.py", line 1228, in extract
    return self._extract_member(member, path, pwd)
  File "C:\Python34\lib\zipfile.py", line 1290, in _extract_member
    with self.open(member, pwd=pwd) as source, \
  File "C:\Python34\lib\zipfile.py", line 1129, in open
    raise TypeError("pwd: expected bytes, got %s" % type(pwd))
TypeError: pwd: expected bytes, got <class 'str'>
Run Code Online (Sandbox Code Playgroud)

我也试过提供,pwd=password2015\!但这产生了语法错误.

有谁知道为什么这会返回这样的错误?我以为extractall应该期待一个字符串.

python-3.x

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

标签 统计

r ×6

python ×2

ggplot2 ×1

python-3.x ×1

vim ×1