小编Ben*_*ker的帖子

拟合对数正态分布或泊松分布

我有一个包含 1096 个数字的向量,这是一个测量站 3 年内测量的 NOx 的日平均浓度。您可以观察图像中的分布类型:

NOx 浓度直方图

我使用这些命令来做直方图:

NOxV<-scan("NOx_Vt15-17.txt")
hist.NOxVt<-hist(NOxV, plot = FALSE, breaks = 24) 
plot(hist.NOxVt, xlab = "[NOx]", ylab = "Frequenze assolute", main = "Istogramma freq. ass. NOx 15-17 Viterbo")
points(hist.NOxVt$mids, hist.NOxVt$counts, col= "red")
Run Code Online (Sandbox Code Playgroud)

我的教授建议我用泊松分布拟合直方图 - 注意转换:离散 -> 连续(我不知道这意味着什么) - 或“对数正态”分布。

我尝试使用她在课程中给我们的一些命令行来进行泊松拟合,但是在执行以下最后一行代码后,R 给了我一个错误:

  my_poisson = function(params, x){
      exp(-params)*params^x/factorial(x)
  }

  y<-hist.NOxVt$counts/1096;
  x<-hist.NOxVt$mids;
  z <- nls( y ~ exp(-a)*a^x/factorial(x), start=list(a=1) )
Run Code Online (Sandbox Code Playgroud)

numericDeriv(form[[3L]], names(ind), env) 中的错误:评估模型时产生的缺失值或无穷大此外:有 50 个或更多警告(使用警告()查看前 50 个)”

这个问题解决不了(在网上搜索类似问题)我决定用对数正态拟合分布,但我不知道怎么做,因为教授没有给我们解释,我仍然没有足够的 R 经验来自己解决。

我将不胜感激有关如何进行对数正态拟合和/或泊松拟合的任何建议或示例。

r normal-distribution poisson model-fitting data-fitting

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

update.packages()反复询问我的每个包.我怎么阻止它?

update.packages()在R中运行时如何避免回答"你想要更新此软件包"一百次吗?

update.packages()个别问我是否要更新几乎所有包装,并显示为提示y/n/c.我最终击中Y然后Enter反复五分钟."C"是什么意思?它让我解决了这个问题吗?我不敢选择不知道它意味着什么的选择.Y显然是,N显然是C?有人猜吗?

r updates

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

编写一个函数,根据数据框的列值在矩阵中查找元素

我有一个数据框,其原点和目的地名称如下(我将简化以使其更清楚):

Origin Dest Time 
     A    B  Mon
     B    C  Wed
     C    B  Fri
Run Code Online (Sandbox Code Playgroud)

我也有发现地之间的距离的距离矩阵A,BC.

   A  B  C
A  0  8 11
B  8  0  6
C 11  6  0
Run Code Online (Sandbox Code Playgroud)

我如何从距离矩阵中提取距离并将其输入df$Distance到数据帧的每一行的单独列(例如)中?

r distance matrix dplyr

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

矩阵的特征值,假设对称

我试图a在 Julia 中找到以下 2 X 2 矩阵(等于)的特征值:

2×2 Array{Float64,2}:
0.120066  0.956959
0.408367  0.422321
Run Code Online (Sandbox Code Playgroud)

我在 R 中有相同的数组,运行以下 R 命令我得到这个输出:

eigen(a, symmetric=T, only.values=T)
$values
[1]  0.706626 -0.164245
Run Code Online (Sandbox Code Playgroud)

但是,在 Julia 中,当我运行此命令时,会得到以下输出:

eigvals(LowerTriangular(a))
2-element Array{Float64,1}:
0.120066
0.422321
Run Code Online (Sandbox Code Playgroud)

有没有办法eigen()在 Julia 中复制对称矩阵的 R函数,因为我使用该LowerTriangular函数的方式不起作用?

r linear-algebra julia

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

为什么我在Rcpp中使用"pnorm"会出现错误

我需要arma::在我的Rcpp代码中包含变量.但是在尝试使用糖功能时遇到了问题pnorm.这是一个演示:

#include <RcppArmadillo.h>
#include <RcppArmadilloExtensions/sample.h>
// [[Rcpp::depends(RcppArmadillo)]]
using namespace Rcpp;

// [[Rcpp::export]]
double pget(NumericVector x, NumericVector beta) {
  arma::colvec xx = Rcpp::as<arma::colvec>(x) ;
  arma::colvec bb = Rcpp::as<arma::colvec>(beta) ;
  double tt = as_scalar( arma::trans(xx) * bb);
  double temp = Rcpp::pnorm(tt);
  return temp;
}
Run Code Online (Sandbox Code Playgroud)

然后我收到一个错误: no matching function for call to 'pnorm5'

这是否意味着我不能使用Rcpp::pnorm???

r armadillo rcpp

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

lme4 glmer 中的缩放预测器无法解决特征值警告;替代优化也没有

lme4我正在使用 R 中的s函数分析数据(如下)。glmer我正在构建的模型由泊松分布响应变量 ( obs)、一个随机因子 ( area)、一个连续偏移 ( duration)、五个连续固定效应 ( can_perccan_ntime, temp, cloud_cover) 和一个二项式固定效应因子 ( burnt)。在拟合模型之前,我检查了共线性并删除了所有共线性变量。

初始模型为:

q1 = glmer(obs ~ can_perc + can_n  + time * temp + 
           cloud_cover + factor(burnt) + (1|area) + offset(dat$duration), 
           data=dat, family=poisson, na.action = na.fail)
Run Code Online (Sandbox Code Playgroud)

(注意:我需要将其指定na.action为“na.fail”,因为我稍后想要dredge()模型,这是必需的。)

运行模型会出现以下警告:

“Hessian 矩阵在数值上是奇异的:参数不是唯一确定的”

在该模型的类似变体中,我也收到了警告:

“在 checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, 中:模型几乎无法识别:大特征值比 - 重新缩放变量?”

根据我对https://rdrr.io/cran/lme4/man/troubleshooting.html和其他地方的建议的有限理解,这两个警告都反映了类似的问题,即 Hessian(逆曲率矩阵)具有较大的特征值,表明(在数值公差范围内)表面在某个方向上完全平坦。根据警告和链接中的建议,我使用 重新调整了所有连续预测变量scale()。我还缩放了偏移变量(我尝试了缩放和不缩放这个变量)。具有缩放预测变量的模型如下: …

optimization r lme4

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

创建乘法序列

我正在尝试创建一个从 0.001 到 1000 乘以 10 的数字列表。所以该列表将是 (0.001, 0.1, 10.....1000)

有什么功能可以实现吗?

a <- 0.0001
b <- 0.0001
for (i in 1:5) {
    b = b*100
    print(c)
    a <- c(a, b)

}
Run Code Online (Sandbox Code Playgroud)

我们可以用更简单的东西替换这里的循环吗?

r

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

为什么NA​​ == NULL,NULL == NULL打印逻辑(0)?

为什么NA==NULL 结果logical (0)不是FALSE?

为什么会NULL==NULL导致结果logical(0)而不是TRUE?

r

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

如何处理 lmer 列中的缺失值 (NA)

我想在使用 时使​​用na.passfor 。某些列中的数据集的某些观察值存在值。我只想控制包含 的变量。非常重要的是,在控制固定效应后,数据集的大小将保持不变。我想我必须与in一起工作。我正在使用以下模型:na.actionlmerNANAna.actionlmer()

baseline_model_0 <- lmer(formula=log_life_time_income_child ~  nationality_dummy + 
    sex_dummy + region_dummy + political_position_dummy +(1|Family), data = baseline_df
Run Code Online (Sandbox Code Playgroud)

qr.default(X, tol = tol, LAPACK = FALSE) 中的错误:外部函数调用中的 NA/NaN/Inf (arg 1)

我的数据:如下所示,所有控制变量中都有相当多的 NA。所以“扔掉”所有这些观察结果是没有选择的!

一个例子:

nat_dummy
1   : 335
2   :  19
NA's: 252
Run Code Online (Sandbox Code Playgroud)

我的问题:

1.) 如何将所有控制变量(以多列表示)包含到模型中而不排除观察值(以行表示)?

2.) 如何lmer处理所有列中缺失的变量?

r lme4 na mixed-models

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

从手稿复制 ODE 食物网模型

我正在尝试复制此处发布的湖泊食物网络模型。该模型代表两条食物链(沿海与远洋),由顶级捕食者(鱼类)连接。我已经对模型进行了编码,但是当我在 2-3 个时间步长后运行它时,模型会生成NaN. 我已经多次检查我的代码,寻找括号等问题,但找不到问题。

如果我将fish初始丰度设置为 0,模型就会运行,所以我认为问题一定出在模型的鱼组件上。

以下是方程式:

Ap = 中上层资源,Z = 中上层浮游动物,Pp = 中上层捕食者,F = 鱼类,Al = 沿岸资源,I = 无脊椎动物,Pl = 沿岸捕食者。

在此输入图像描述

这是我对模型进行编码的尝试:

library(deSolve)

# define the model
vade_2005_model <- function(Time, State, Pars){
  
  with(as.list(c(State, Pars)), {

# pelagic components -----------------------------------------------

# resource
pel_res_dt <- (rPel * AP * (1 - (AP/(KT * q)))) - (aZP * ((Z * AP)/(AP + bZP)))

# zooplankton
pel_zoo_dt <-  (ef * aZP * ((Z * AP)/(AP + bZP))) …
Run Code Online (Sandbox Code Playgroud)

simulation r ode desolve

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