首页 > 解决方案 > 二元运算符的非数字参数

问题描述

我想根据 n.grid 的值获得不同的 approx.n 值代码如下:

ll <- 0
ul <- 0.5
mean <- 0
sdsq <- 1
n.value <- 100
n.value <- c(1:n.value)
xi <- lapply(n.value, function(i) seq(ll,ul,length.out = i+1))
xi <- xi[-1]
h <- (ul-ll)/n.value
fx <- sapply(xi, dnorm, mean= mean,sd=sqrt(sdsq))
indv.exact <- pnorm(ul, mean= mean,sd=sqrt(sdsq)) - pnorm(ll, mean= mean,sd=sqrt(sdsq))
approx.n <- ( h/3 ) * ( fx [1] + fx[n.value] )  +  ( 4*h/3 ) * sum(fx[seq(2,n.value-2,2)])  + ( 2*h/3 ) * sum(fx[seq(3,n.value -1,2)])

采购文件会出现错误

Error in fx[1] + fx[n.grid] : non-numeric argument to binary operator

在此之后的以下内容

( 4*h/3 ) * sum(fx[seq(2,n.value-2,2)])  + ( 2*h/3 ) * sum(fx[seq(3,n.value -1,2)])

我想要 4*h/3 用于 n.value 中的偶数值和 2*h/3 用于为每个 n 值调整的奇数值

对不起,过于复杂。谢谢

标签: rvectorlapply

解决方案


推荐阅读