在R循环中采样不同的行数

时间:2017-08-10 17:19:49

标签: r

我正在尝试在R中对不同数量的行进行采样。我想为N行获取此样本,这些行共享给定属性(在我的情况下,cell_id_25km)多次。比基于具有N行的每个样本,我想应用一个函数(换句话说:用它做一些事情并保存结果)。

以下是我使用的代码没有成功:

我的数据帧(df)的一个例子:

cell_id_25km latitude longitude date_collected N_rec species id_species  

   101064  -23.625    30.125     1924-03-31  2142  sp.783          1           
   101064  -23.600    30.100     1982-01-24  2142  sp.783          1         
   101064  -23.625    30.125     1968-03-15  2142  sp.783          1           
   101064  -23.625    30.125     1918-02-28  2142  sp.783          1        
   101064  -23.625    30.125     1960-02-29  2142  sp.783          1         
   101064  -23.625    30.125     1958-01-13  2142  sp.783          1         

我正在尝试的代码:

nrep<-100

cell=unique(df$cell_id_25km)

tt3<-c()

tt4<-c()

tt5<-c()

    for(j in 1:nrep){
      u[j]<- round(runif(1, min = 100, max = 1000), digits = 0)
      for (i in 1:length(cell)) {
        for (k in 1:length(u[j])){ 
          dat3 = df[df$cell_id_25km == cell[i], c("cell_id_25km", "id_species", "species")]
          tt4[[k]] <- sample_n(dat3, u[j], replace = FALSE)
          tt5[[k]]<- length(unique(tt4$species))}}}

我想我没有正确保存循环的结果。

0 个答案:

没有答案