Rでデータフレームの行数を異なるサンプル数にしようとしています。与えられた属性を共有するN行のサンプルを取得したいと思います(私の場合は、 cell_id_25km)を複数回繰り返します。各サンプルN12行を持つサンプルに基づいて、関数を適用したいとします(言い換えれば、何かを行い、結果を保存する)。ここで Rループ内の異なる行数をサンプルする
は、私は成功せずに使用しているコードです:私のデータフレーム(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))}}}
I私はループの結果を正しく保存していないと思う。
「uu2」はどこから来ていますか? – Kevin
申し訳ありません。私のデータフレームです。 – user2120294