Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
为N、最小/最大值、标准差、平均值和R中位数创建一个表格_R_Data.table - Fatal编程技术网

为N、最小/最大值、标准差、平均值和R中位数创建一个表格

为N、最小/最大值、标准差、平均值和R中位数创建一个表格,r,data.table,R,Data.table,我对R很陌生,所以请容忍我提出的这个基本问题。 我使用DATA.table包创建了一个数据集DATA。我创建了200个介于0和1之间的随机数,然后做了10000次,最后为每个迭代创建了一个数据表,其中包含描述性统计信息。我的代码如下所示: rndm<-runif(200, min=0, max=1) reps <- data.table(x=runif(200*10000),iter=rep(1:200,each=10000)) DATA <- reps[,list(mean=

我对R很陌生,所以请容忍我提出的这个基本问题。 我使用DATA.table包创建了一个数据集DATA。我创建了200个介于0和1之间的随机数,然后做了10000次,最后为每个迭代创建了一个数据表,其中包含描述性统计信息。我的代码如下所示:

rndm<-runif(200, min=0, max=1)
reps <- data.table(x=runif(200*10000),iter=rep(1:200,each=10000))
DATA <- reps[,list(mean=mean(rndm),median=median(rndm),sd=sd(rndm),min=min(rndm),
max=max(rndm)),by=iter]
    Mean    Median     SD    Min    Max
1   0.521    0.499   0.287  0.010  0.998
2   0.511    0.502   0.290  0.009  0.996
.    ...     ... 
   N     Mean   Median    SD    Min    Max
 10000  .502     .499    .280  .002   .999
等等

我想做的是创建一个表格,找到累积样本均值的N、均值、中位数、标准差、最小值和最大值(不是上面的每一列)。我需要输出如下所示:

rndm<-runif(200, min=0, max=1)
reps <- data.table(x=runif(200*10000),iter=rep(1:200,each=10000))
DATA <- reps[,list(mean=mean(rndm),median=median(rndm),sd=sd(rndm),min=min(rndm),
max=max(rndm)),by=iter]
    Mean    Median     SD    Min    Max
1   0.521    0.499   0.287  0.010  0.998
2   0.511    0.502   0.290  0.009  0.996
.    ...     ... 
   N     Mean   Median    SD    Min    Max
 10000  .502     .499    .280  .002   .999

我怎样才能做到这一点

您还可以定义一个函数。这种方法允许您为不同的变量创建相同的表

summaryfun <- function(x)list(N=length(x),Mean=mean(x),Median=median(x),SD=sd(x),Min=min(x),Max=max(x))
DATA[,summaryfun(mean)]

summaryfun目前,您正在为每个不同的
iter
项目分别计算列表中的函数。但是如果您想要聚合统计数据,只需删除
by
子句,您的函数将在整个数据集上运行一次。然后,使用data.table提供的
.N
变量,添加一个项以给出
N

DATA <- reps[, list(N=.N, mean=mean(rndm), median=median(rndm), 
                    sd=sd(rndm), min=min(rndm), max=max(rndm))]

数据这可能会有帮助:哈!我想这家伙在我的班上。我仍然不明白如何得到上面格式的表格,这是我真正想要完成的。有什么建议吗?我认为要让它看起来像那样,你可能必须手工操作:
c(N=length(summary$mean),mean=mean(summary$mean))
。通过执行
N=…
,您将把标签放在顶部。你要找的六个函数都是标准的R函数,
?sd
,等等。
reps[,as.list(c(N=.N,summary(x))]
我认为是你要找的。