[英]r solve linear equation
这是我的方程式
k_0 = 0.21
k_1 = 0.21
m = 52
alpha = 0.05
beta = 0.2
pi_0 = 0.669
pi_1 to be estimated
power <- 1-beta
cz <- 20
z_alpha <- qnorm(p= alpha/2, lower.tail=FALSE)
Z_beta <- qnorm(p= beta, lower.tail=FALSE)
如果这是我的方程,我如何求解 pi 或估计 pi 给定所有其他参数的值?
cz <- 1 + ((z_alpha + Z_beta)^2)*((pi_0*(1-pi_0)/m+ pi_1*(1- pi_1)/m + (((k_0)^2)*((pi_0)^2) + ((k_1)^2)*((pi_1)^2)))/((pi_0 - pi_1)^2))
您可以使用以下代码
library(minpack.lm)
k_0 = 0.21
k_1 = 0.21
m = 52
alpha = 0.05
beta = 0.2
pi_0 = 0.669
power <- 1-beta
cz <- 20
z_alpha <- qnorm(p= alpha/2, lower.tail=FALSE)
Z_beta <- qnorm(p= beta, lower.tail=FALSE)
fun <- as.formula(cz ~ 1 + ((z_alpha + Z_beta)^2)*((pi_0*(1-pi_0)/m + pi_1*(1 - pi_1)/m + (((k_0)^2)*((pi_0)^2) + ((k_1)^2)*((pi_1)^2)))/((pi_0 - pi_1)^2)))
df <- data.frame(cz, z_alpha, Z_beta, alpha, m, beta, pi_0, k_0, k_1)
#Fitting model using minpack.lm package
nls.out <- nlsLM(fun,
data = df,
start=list(pi_1=1),
algorithm = "LM",
control = nls.lm.control(maxiter = 500))
summary(nls.out)
#> Formula: cz ~ 1 + ((z_alpha + Z_beta)^2) * ((pi_0 * (1 - pi_0)/m + pi_1 *
#> (1 - pi_1)/m + (((k_0)^2) * ((pi_0)^2) + ((k_1)^2) * ((pi_1)^2)))/((pi_0 -
#> pi_1)^2))
#>
#> Parameters:
#> Estimate Std. Error t value Pr(>|t|)
#> pi_1 0.8219 NaN NaN NaN
#>
#> Residual standard error: NaN on 0 degrees of freedom
#>
#> Number of iterations to convergence: 7
#> Achieved convergence tolerance: 1.49e-08
如果您对因变量和自变量使用了一系列值,可能会更好。 常量可以有单个值。 您必须说出方程式中的常数(即参数)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.