小编Wav*_*ave的帖子

交点2正常曲线

虽然我认为这是一个基本问题,但我似乎无法找到如何在R中计算:

交叉点(我需要x值)的2个或更多正态分布(拟合在直方图上),例如具有以下参数:

d=data.frame(mod=c(1,2),mean=c(14,16),sd=c(0.9,0.6),prop=c(0.6,0.4))
Run Code Online (Sandbox Code Playgroud)

使用我的2条曲线的均值和标准差,并支持每个mod对分布的贡献比例.

r normal-distribution

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

重新排序列表元素

我有一个简单的问题,但无法找到一个直截了当的答案.我有以下类型的列表

my.list=list(a=c(1,2,3),random=1,list=matrix(1:10,nrow=2))
Run Code Online (Sandbox Code Playgroud)

其中我想根据另一个列表('a','list','random')的顺序改变列表元素的顺序(这里:'a','random'和'list'),或者因此列表名称的向量:名称(my.other.list):

my.other.list=list(a=c(4,5,6),list=matrix(101:110,nrow=2),random=2)
Run Code Online (Sandbox Code Playgroud)

所以目标是获得这个清单:

my.wanted.list=list(a=c(1,2,3),list=matrix(1:10,nrow=2),random=1)
Run Code Online (Sandbox Code Playgroud)

请注意,列表(my.list和my.other.list)都具有相同的列表名称,并且这些列表不能按字母顺序排序.

我创建了这个循环:

my.wanted.list=list()
for(i in 1:length(my.list)){
  my.wanted.list[[i]]=my.list[[names(my.other.list)[i]]]
}
names(my.wanted.list)=names(my.other.list)
Run Code Online (Sandbox Code Playgroud)

但对于一个看似简单的问题,这似乎是一个耗时的解决方案.特别是如果列表更大.那么有更简单的方法吗?

谢谢.

r list

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

将误差添加到依赖值的变换向量中

我想模拟(添加error/rnorm)一个依赖值的变换向量,但我不知道如何保持变换的属性.我做了一个玩具示例来展示我的问题.

我有一个区间观测矢量(obs),我将其转换为建模:

set.seed(123)
sd=0.1
obs=rnorm(10,10,3)  # each value is an age class

#transform observations (in reality something more complex based on cumulative logits)
obs=obs/sum(obs)  
Run Code Online (Sandbox Code Playgroud)

这些进入一个模型,根据转换估计标准差:

# model
predict=function(x){
    pred=c(1:10)^x
    pred=pred/sum(pred)
    return(pred)
}

model= function(x){
    nll=-sum(mapply(dnorm,predict(x),obs,sd))  #sd is estimated in reality
    return(nll)
}

mypar=optim(0,model,lower=0,upper=2,method='Brent')$par

# from my model I get predictions
out=predict(mypar)

# I would now like to simulate observations like this :
# (in reality I do this for predicted future values)
simu=mapply(rnorm,1,out,sd)
sum(simu)
 [1] 1.208622
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,那么我的模拟当然不再遵循转换规则......在这个玩具案例中,simu的总和应该仍然是一个.

我可以对预测值进行逆变换并模拟它,但是我的sd不再"合适"了.

我该如何处理?在进行上述操作时,我是否需要以某种方式转换我的SD(如果是这样的话)?或者还有其他方法吗?

r transformation simulate

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

如何用R绘制风向和速度(速度图)

基本上我有2个矩阵(u和v)的列表,包含纵向和横向的风速(以及包含坐标的向量x和y).我想制作一个带有箭头指向最终方向的地图,其大小与风速成正比.之前提出过这个问题:http: //www.mail-archive.com/r-help@r-project.org/msg18875.html.不幸的是,答案中给出的链接被打破了.我尝试使用箭袋功能,但我没有让它工作.

以下是我的数据的样子:

x=seq(10,15,by=0.25)
y=seq(40,50,by=0.25)
u=matrix(runif(length(x)*length(y),-2,3),nrow=length(y),ncol=length(y))
v=matrix(runif(length(x)*length(y),-2,3),nrow=length(y),ncol=length(y))
wind=list(u,v)
Run Code Online (Sandbox Code Playgroud)

对于箭袋功能:

library(pracma)
quiver(x=x, y=y, u=wind[[1]], v=wind[[2]])
Run Code Online (Sandbox Code Playgroud)

哪两次给出:

Error: invalid graphics state
Run Code Online (Sandbox Code Playgroud)

我假设你和v是错误的并且也需要坐标,但老实说我不理解包描述中给出的解释(u,v:x,起点的y坐标).

我在matlab或python中看到更多信息可用于箭袋,但我从未使用过,所以任何有关在R中执行此操作的建议都将非常感激.

r

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

使用 TMB 优化时,outermgc 消息是什么?

使用 TMB 生成目标函数和梯度并调用该optim函数后,我在控制台中打印出一系列报告,其形式似乎为“outer mgc:”:

outer mgc:  56.54273 
outer mgc:  56.51064 
outer mgc:  56.96065 
outer mgc:  57.13384 
outer mgc:  29.01959 
outer mgc:  27.08267 
outer mgc:  25.99866 
outer mgc:  25.79068 
outer mgc:  25.58621 
outer mgc:  21.91722 
outer mgc:  21.73952 
outer mgc:  21.56449 
outer mgc:  21.52924 
outer mgc:  21.52189 
outer mgc:  21.19551 
outer mgc:  20.7331 
outer mgc:  16.39087 
outer mgc:  11.35111 
outer mgc:  10.61466 
outer mgc:  6.748524 
outer mgc:  1.420802 
outer mgc:  0.1197647 
Run Code Online (Sandbox Code Playgroud)

看起来数字越小表明收敛速度越快,收敛结果也越好。但我并不完全确定这些是什么,因此很高兴知道这些是什么,以便诊断算法的收敛特性。

r tmb

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

标签 统计

r ×5

list ×1

normal-distribution ×1

simulate ×1

tmb ×1

transformation ×1