Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从R中for循环的同一次迭代中提取不同的统计信息_R_Dataframe_Loops_For Loop - Fatal编程技术网

从R中for循环的同一次迭代中提取不同的统计信息

从R中for循环的同一次迭代中提取不同的统计信息,r,dataframe,loops,for-loop,R,Dataframe,Loops,For Loop,我想在两个变量之间创建一个数据框,这两个变量链接到每个迭代的相同分布 sim_df <- rep(NA, 1000) for (i in 1:1000) { #randomly generated distribution dist = sample(c(0:200), 10, replace = TRUE) dist = as.data.frame(dist) #calculated statistics dist_mean = mean(a[,1]) dist_sd = sd

我想在两个变量之间创建一个数据框,这两个变量链接到每个迭代的相同分布

sim_df <- rep(NA, 1000)
for (i in 1:1000) { 

#randomly generated distribution
dist = sample(c(0:200), 10, replace = TRUE)
dist = as.data.frame(dist)

#calculated statistics
dist_mean = mean(a[,1])
dist_sd   = sd(a[,1])

#build data frame
df = data.frame(dist_mean, dist_sd)

#return
sim_df = df[i]
}
return_mean_sd <- function() {
  dist = sample(c(0:200), 10, replace = TRUE)
  c(mean = mean(dist), sd = sd(dist))
}

sim_df创建一个函数,返回一次迭代的平均值和标准差

sim_df <- rep(NA, 1000)
for (i in 1:1000) { 

#randomly generated distribution
dist = sample(c(0:200), 10, replace = TRUE)
dist = as.data.frame(dist)

#calculated statistics
dist_mean = mean(a[,1])
dist_sd   = sd(a[,1])

#build data frame
df = data.frame(dist_mean, dist_sd)

#return
sim_df = df[i]
}
return_mean_sd <- function() {
  dist = sample(c(0:200), 10, replace = TRUE)
  c(mean = mean(dist), sd = sd(dist))
}

我想这就是你想要做的:

set.seed(2021)#为了再现性,请勿在生产中使用

sim_df更容易生成完整的实现流,将其转换为矩阵,然后从行生成统计数据:

dist <- sample(c(0:200), 10 * 1000, replace = TRUE)
dist <- matrix(dist, ncol = 10)
means <- rowMeans(dist)
sds <- apply(dist, 1, sd)
df <- data.frame(means, sds)
head(df)
  means      sds
1  60.7 52.45750
2 124.3 65.82646
3 101.3 73.34856
4 116.4 39.37907
5  97.2 65.79227
6  94.7 58.27530
dist