我对以下问题感兴趣:从N(0,1)生成100个随机样本,每个样本大小为100。在每个样本中,找到绝对平均值,例如(1/100)*样本中所有x的总和(abs(x))。以下是我的意思:
std::vector<int> V = ....;
quick_sort(V.begin(), V.end());
但这似乎只是采用一个100大小的随机样本。我该如何修复我的代码?我如何生成set.seed(124)
N <- 100
samples <- rnorm(n=N, mean=0, sd=1)
A <- function(x,N){
(1/N)*sum(abs(x))
}
result <- sapply(samples, A, N)
print(result)
print(mean(result))
print(var(result))
的{{1}}的均值和方差的图表变化?我是否必须使用result
循环,或者在R中有更好的方法吗?
非常感谢您的帮助!
答案 0 :(得分:0)
试试这个:
runs <- 100;
rfun <- rnorm;
size <- 100;
m <- double(0)
for (i in 1:runs) m[i] = mean(rfun(size));
现在,你有100个样本来自100个样本,每个100个样本。我已经写好了,所以如果你愿意,你可以使用除正常之外的发行版。
答案 1 :(得分:0)
这更具功能性。它更接近你想要的吗?
stop: function(event, ui){
if(ui.item.parent().attr('id') !== 'sortable'){
$("#sortable").sortable("cancel");
}
},
来自sample_hundo <- function() { rnorm(n=100, mean=0, sd=1) }
funny_normalize <- function(sample.vec) { sum(abs(sample.vec)) / length(sample.vec) }
replicate(10, funny_normalize(sample_hundo()))
:
'replicate'是'sapply'for的常用用法的包装 重复评估一个表达式(通常会涉及到 随机数生成)。
答案 2 :(得分:0)
使用矩阵怎么样?每列代表一次运行,每列包含100个来自N(0,1)的值。你应该尽量避免循环。
dgNames.Rows[dgNames.CurrentRow.Index].Selected = false;
dgNames.Rows[dgNames.CurrentRow.Index + 1].Selected = true;