2017-11-21 3 views
1

ランダムにデータフレームから1行n行を100回(つまり2000個のランダムなデータフレームを与える)サンプリングしたいとします。異なるランダムな行数をサンプル

私はこれを行うことができるよにはsample_n機能を使用して10個のランダムな行を言う:

ran_df <- sample_n(df, 10, replace = TRUE) 

をしかし、私は私のデータフレームすなわち1行、2行を可能な限りすべての数のためにこれをどのように行うのですか行、3行... 20行?

私のデータフレームは、次のようになります。@Mickeyはlapplyを示唆していると、あなたがデータフレームにリストに参加するbaseパッケージからdplyrパッケージまたはdo.callからbind_rowsを使用することができるよう

 bird_sp plant_sp value 
1 species_a plant_a  1 
2 species_a plant_a  1 
3 species_a plant_a  1 
4 species_a plant_a  1 
5 species_a plant_a  1 
6 species_a plant_b  1 
7 species_a plant_b  1 
8 species_a plant_b  1 
9 species_a plant_b  1 
10 species_a plant_c  1 
11 species_a plant_d  1 
12 species_a plant_d  1 
13 species_b plant_d  1 
14 species_b plant_d  1 
15 species_b plant_b  1 
16 species_b plant_b  1 
17 species_b plant_b  1 
18 species_b plant_b  1 
19 species_b plant_c  1 
20 species_b plant_c  1 
+0

数字によって混乱しています。データフレームには20行しかありませんか? –

+0

私も混乱しています。これはあなたが欲しいものですか? – JMT2080AD

+0

はい - 100行×1行、100行×2行、100行×3行、100行×100行が生成されます(例: 20 – jsta

答えて

0

ユーザーsample_nを。

library(dplyr) 
df <- read.table(text = "bird_sp plant_sp value 
       1 species_a plant_a  1 
       2 species_a plant_a  1 
       3 species_a plant_a  1 
       4 species_a plant_a  1 
       5 species_a plant_a  1 
       6 species_a plant_b  1 
       7 species_a plant_b  1 
       8 species_a plant_b  1 
       9 species_a plant_b  1 
       10 species_a plant_c  1 
       11 species_a plant_d  1 
       12 species_a plant_d  1 
       13 species_b plant_d  1 
       14 species_b plant_d  1 
       15 species_b plant_b  1 
       16 species_b plant_b  1 
       17 species_b plant_b  1 
       18 species_b plant_b  1 
       19 species_b plant_c  1 
       20 species_b plant_c  1", header = TRUE) 
# Use lapply 
samples_Data <- replicate(10, lapply(1:nrow(df), function(x) sample_n(df, x, replace = T))) %>% 
    bind_rows(.) 
関連する問題