R通过组合样本中位数估计总体中值

R通过组合样本中位数估计总体中值,r,loops,vector,median,seq,R,Loops,Vector,Median,Seq,我需要结合每个时期10个不同样本的中位数(数据集中位数),计算几个时期的人口中位数。每个样本中值都是通过采取不同数量的观察(数据集观察)获得的 中值数据集 Time1 Time2 Time3 Time4 Time5 Sample1 60000 71139 70000 75000 75000 Sample2 80000 88000 87750 88500 90000 Sample3 66000 73325 73000 78

我需要结合每个时期10个不同样本的中位数(数据集中位数),计算几个时期的人口中位数。每个样本中值都是通过采取不同数量的观察(数据集观察)获得的

中值数据集

       Time1    Time2   Time3   Time4   Time5
Sample1 60000   71139   70000   75000   75000
Sample2 80000   88000   87750   88500   90000
Sample3 66000   73325   73000   78126   75000
Sample4 60000   74000   72000   75500   73000
Sample5 50500   60000   60000   66750   81500
Sample6 60000   70000   72000   78500   80000
Sample7 50000   60000   59999   63000   60000
Sample8 53000   55000   58300   59995   64500
Sample9 92529   111000  115000  120063  118000
Sample10 92500  115000  101000  104100  110075 
Time1   Time2   Time3   Time4   Time5
Sample1 159 202 174 134 172
Sample2 148 178 148 121 140
Sample3 563 680 652 513 678
Sample4 554 634 518 512 595
Sample5 343 415 347 270 390
Sample6 738 954 769 720 825
Sample7 704 949 863 648 762
Sample8 595 681 640 517 663
Sample9 517 782 610 504 472
Sample10    627 733 621 493 512
观测数据集

       Time1    Time2   Time3   Time4   Time5
Sample1 60000   71139   70000   75000   75000
Sample2 80000   88000   87750   88500   90000
Sample3 66000   73325   73000   78126   75000
Sample4 60000   74000   72000   75500   73000
Sample5 50500   60000   60000   66750   81500
Sample6 60000   70000   72000   78500   80000
Sample7 50000   60000   59999   63000   60000
Sample8 53000   55000   58300   59995   64500
Sample9 92529   111000  115000  120063  118000
Sample10 92500  115000  101000  104100  110075 
Time1   Time2   Time3   Time4   Time5
Sample1 159 202 174 134 172
Sample2 148 178 148 121 140
Sample3 563 680 652 513 678
Sample4 554 634 518 512 595
Sample5 343 415 347 270 390
Sample6 738 954 769 720 825
Sample7 704 949 863 648 762
Sample8 595 681 640 517 663
Sample9 517 782 610 504 472
Sample10    627 733 621 493 512
我试图生成一个向量,其中值[1:1]重复观察[1:1]次,这个向量需要连接到另一个向量中值[1:2]重复观察[1:2]次,然后连接到另一个向量中值[1:3]重复观察[1:3]次,依此类推

我的目标是生成5个向量(多达列-周期),每个向量的长度等于每个时间帧中样本观测的总数

 for (i in 1:ncol(Median))  {

   for (j in 1:nrow(Median)) { 

  vector_median=(seq(as.numeric(Med[i,j]),as.numeric(Med   [i,j]),length.out=as.numeric(Observations[i,j])))

 }
 }

考虑一个嵌套的
mapply
(apply family的多输入版本),其中您在成对迭代中传递Med列和Observations列,然后在成对迭代中将每个列对应的样本值传递到
rep()
函数:

数据

txt = "       Time1    Time2   Time3   Time4   Time5
Sample1 60000   71139   70000   75000   75000
Sample2 80000   88000   87750   88500   90000
Sample3 66000   73325   73000   78126   75000
Sample4 60000   74000   72000   75500   73000
Sample5 50500   60000   60000   66750   81500
Sample6 60000   70000   72000   78500   80000
Sample7 50000   60000   59999   63000   60000
Sample8 53000   55000   58300   59995   64500
Sample9 92529   111000  115000  120063  118000
Sample10 92500  115000  101000  104100  110075 "

Med = read.table(text=txt, header=TRUE)

txt = "Time1   Time2   Time3   Time4   Time5
Sample1 159 202 174 134 172
Sample2 148 178 148 121 140
Sample3 563 680 652 513 678
Sample4 554 634 518 512 595
Sample5 343 415 347 270 390
Sample6 738 954 769 720 825
Sample7 704 949 863 648 762
Sample8 595 681 640 517 663
Sample9 517 782 610 504 472
Sample10    627 733 621 493 512"

Obs = read.table(text=txt, header=TRUE)
过程

replicate_medians <- function(m,o){      
  mapply(function(m_sub, o_sub) rep(m_sub, times=o_sub), m, o)      
}

output <- mapply(function(x,y) unlist(replicate_medians(x,y)), Med, Obs, SIMPLIFY=FALSE)    

# EQUIVALENT WITH Map() WRAPPER
output <- Map(function(x,y) unlist(replicate_medians(x,y)), Med, Obs)

replicate\u medians您不需要估计人口中位数,因为您已经有了它,但可以通过观察进行复制。考虑重标题和重复的问题。我实际上不掌握根本的观察。我只得到了样品中位数;这就是为什么我需要找到一个解决方法来估计来自子样本中位数的总体