编辑于 9 月 30 日 12:23 小时
我仍然不完全清楚你想用 x 完成什么,因为你以令人困惑的方式使用它,但是使用你的大部分代码并大大简化,但仍然使用for loop
创建一个没有矩阵扭曲的空数据框。
ProDistFun <- data.frame(
x = integer(0),
Alpha = numeric(0),
Trimmed_Mean = numeric(0),
Variance_Of_Trimmed_Mean = numeric(0)
)
分配你的两个常数。 重要提示- 在您的代码中,请停止将分配<-
视为同一件事,因为=
它会导致问题。
mu <- 7 # Mean Value
sigma2 <- 4 # Variance value
将您的两个函数拉出循环(每次迭代都重新运行它们没有意义)。我不知道它们是否正确,但它们似乎有效。在我看来,在这些函数中,您希望 x 值成为 的值,i
因此我进行了更改。如果你不这样做,你会得到 13 次相同的迭代
fun_TM <- function(x) {
((i*exp(-0.5*((i-mu)/sqrt(sigma2))^2))/((1-2*alpha)*(sqrt(2*pi*sigma2))))
}
fun_VTM <- function(x) {
((((i-MT)^2)*exp(-0.5*((i-mu)/sqrt(sigma2))^2))/(sqrt(2*pi*sigma2)))
}
现在我们运行alpha
and的嵌套循环i
。我们构建一行以添加到我们的空数据框ProDist_df
,然后最后一步就是rbind
它newrow
。请注意帮助文件中的说明,integrate
我们需要Vectorize
.
for (alpha in c(0.001,0.01,0.025,0.05,0.1,0.25,0.375)) {
for (i in 1:13) {
a <- qnorm(alpha, mean = mu, sd = sqrt(sigma2))
b <- qnorm(1 - alpha, mean = mu, sd = sqrt(sigma2))
MT1 <- integrate(Vectorize(fun_TM), a, b)
MT <- MT1$value
fVTM <- integrate(Vectorize(fun_VTM), a, b)
fV <- fVTM$value
VT <- ((fV+(alpha*(a-MT)^2)+(alpha*(b-MT)^2))/((1-2*alpha)^2))
newrow <- data.frame(x = i,
Alpha = alpha,
Trimmed_Mean = MT,
Variance_Of_Trimmed_Mean = VT)
ProDist_df <- rbind(ProDist_df, newrow)
}
}
ProDist_df
#> x Alpha Trimmed_Mean Variance_Of_Trimmed_Mean
#> 1 1 0.001 0.02744577 0.2003378
#> 2 2 0.001 0.21710028 0.5148306
#> 3 3 0.001 1.00307392 1.4849135
#> 4 4 0.001 3.20833233 0.6092747
#> 5 5 0.001 7.49244239 9.4048587
#> 6 6 0.001 13.08172721 109.7134117
#> 7 7 0.001 17.29412878 262.6203021
#> 8 8 0.001 17.44230295 195.0733274
#> 9 9 0.001 13.48639629 30.3828344
#> 10 10 0.001 8.02083083 3.2269398
#> 11 11 0.001 3.67793771 18.0605860
#> 12 12 0.001 1.30260169 12.5886402
#> 13 13 0.001 0.35679506 4.5613376
#> 14 1 0.010 0.02104086 1.4856627
#> 15 2 0.010 0.16643643 1.7087503
#> 16 3 0.010 0.76899043 2.5612272
#> 17 4 0.010 2.45961619 2.3689151
#> 18 5 0.010 5.74396001 1.1324626
#> 19 6 0.010 10.02889499 28.3270524
#> 20 7 0.010 13.25826466 76.9619814
#> 21 8 0.010 13.37185999 50.5144290
#> 22 9 0.010 10.33912801 2.7851234
#> 23 10 0.010 6.14904048 9.7709433
#> 24 11 0.010 2.81963158 18.3179999
#> 25 12 0.010 0.99861856 11.4783190
#> 26 13 0.010 0.27353117 4.8704116
#> 27 1 0.025 0.01828687 3.5703608
#> 28 2 0.025 0.14465195 3.7170106
#> 29 3 0.025 0.66833905 4.3472611
#> 30 4 0.025 2.13768272 4.1121498
#> 31 5 0.025 4.99214637 1.0747081
#> 32 6 0.025 8.71623613 12.2965566
#> 33 7 0.025 11.52292107 37.4315915
#> 34 8 0.025 11.62164818 22.0916831
#> 35 9 0.025 8.98586347 1.0699878
#> 36 10 0.025 5.34420680 13.1972079
#> 37 11 0.025 2.45057652 19.1385400
#> 38 12 0.025 0.86791169 12.3691446
#> 39 13 0.025 0.23772931 6.5199633
#> 40 1 0.050 0.01619943 7.3749079
#> 41 2 0.050 0.12813995 7.4154400
#> 42 3 0.050 0.59204825 7.6768541
#> 43 4 0.050 1.89366655 6.8889173
#> 44 5 0.050 4.42229360 2.4843697
#> 45 6 0.050 7.72127906 5.6367092
#> 46 7 0.050 10.20758133 19.2763445
#> 47 8 0.050 10.29503875 10.2078727
#> 48 9 0.050 7.96012848 2.5125393
#> 49 10 0.050 4.73416638 16.5558668
#> 50 11 0.050 2.17084357 21.3087060
#> 51 12 0.050 0.76883970 15.1092609
#> 52 13 0.050 0.21059254 9.9710784
#> 53 1 0.100 0.01419911 17.3206584
#> 54 2 0.100 0.11231710 17.1281634
#> 55 3 0.100 0.51894156 16.5102647
#> 56 4 0.100 1.65983477 13.8052303
#> 57 5 0.100 3.87622451 6.3261279
#> 58 6 0.100 6.76784806 2.9011142
#> 59 7 0.100 8.94713932 9.2952208
#> 60 8 0.100 9.02379741 4.8107658
#> 61 9 0.100 6.97720412 6.0182204
#> 62 10 0.100 4.14958694 22.3456468
#> 63 11 0.100 1.90278571 28.0669010
#> 64 12 0.100 0.67390263 23.5641219
#> 65 13 0.100 0.18458837 19.4835253
#> 66 1 0.250 0.01195695 101.3283283
#> 67 2 0.250 0.09458127 99.3524957
#> 68 3 0.250 0.43699624 91.6992768
#> 69 4 0.250 1.39773265 71.1428700
#> 70 5 0.250 3.26413547 35.4870897
#> 71 6 0.250 5.69914690 7.1958771
#> 72 7 0.250 7.53430941 4.8250199
#> 73 8 0.250 7.59886254 4.6624497
#> 74 9 0.250 5.87544385 18.9156520
#> 75 10 0.250 3.49433163 57.7975362
#> 76 11 0.250 1.60231955 87.6386891
#> 77 12 0.250 0.56748763 98.7559156
#> 78 13 0.250 0.15544029 101.2808652
#> 79 1 0.375 0.01129729 591.0212507
#> 80 2 0.375 0.08936330 578.6087319
#> 81 3 0.375 0.41288753 529.2387893
#> 82 4 0.375 1.32062094 401.4184815
#> 83 5 0.375 3.08405591 197.9457725
#> 84 6 0.375 5.38472985 37.5416149
#> 85 7 0.375 7.11864801 5.0996822
#> 86 8 0.375 7.17963979 7.6766516
#> 87 9 0.375 5.55130064 59.4024907
#> 88 10 0.375 3.30155234 228.2708772
#> 89 11 0.375 1.51392096 415.5768786
#> 90 12 0.375 0.53617983 529.7332481
#> 91 13 0.375 0.14686478 575.9244272