我正在尝试在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))}}}
我想我没有正确保存循环的结果。