我有一个包含 1096 个数字的向量,这是一个测量站 3 年内测量的 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 经验来自己解决。
我将不胜感激有关如何进行对数正态拟合和/或泊松拟合的任何建议或示例。
update.packages()在R中运行时如何避免回答"你想要更新此软件包"一百次吗?
update.packages()我个别问我是否要更新几乎所有包装,并显示为提示y/n/c.我最终击中Y然后Enter反复五分钟."C"是什么意思?它让我解决了这个问题吗?我不敢选择不知道它意味着什么的选择.Y显然是,N显然是C?有人猜吗?
我有一个数据框,其原点和目的地名称如下(我将简化以使其更清楚):
Origin Dest Time
A B Mon
B C Wed
C B Fri
Run Code Online (Sandbox Code Playgroud)
我也有发现地之间的距离的距离矩阵A,B和C.
A B C
A 0 8 11
B 8 0 6
C 11 6 0
Run Code Online (Sandbox Code Playgroud)
我如何从距离矩阵中提取距离并将其输入df$Distance到数据帧的每一行的单独列(例如)中?
我试图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函数的方式不起作用?
我需要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???
lme4我正在使用 R 中的s函数分析数据(如下)。glmer我正在构建的模型由泊松分布响应变量 ( obs)、一个随机因子 ( area)、一个连续偏移 ( duration)、五个连续固定效应 ( can_perc、can_n、time, 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()。我还缩放了偏移变量(我尝试了缩放和不缩放这个变量)。具有缩放预测变量的模型如下: …
我正在尝试创建一个从 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)
我们可以用更简单的东西替换这里的循环吗?
为什么NA==NULL 结果logical (0)不是FALSE?
为什么会NULL==NULL导致结果logical(0)而不是TRUE?
我想在使用 时使用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处理所有列中缺失的变量?
我正在尝试复制此处发布的湖泊食物网络模型。该模型代表两条食物链(沿海与远洋),由顶级捕食者(鱼类)连接。我已经对模型进行了编码,但是当我在 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) r ×10
lme4 ×2
armadillo ×1
data-fitting ×1
desolve ×1
distance ×1
dplyr ×1
julia ×1
matrix ×1
mixed-models ×1
na ×1
ode ×1
optimization ×1
poisson ×1
rcpp ×1
simulation ×1
updates ×1