特定の数値シーケンス (この場合は 1 から 14610) から整数 9776 のランダムなベクトルを作成したいのですが、観測の一意の数は 2444 である必要があり、各観測はランダムに繰り返す必要があります。つまり、2444 の一意ではありません。観察はそれぞれ 4 回繰り返された。
なにか提案を?
ありがとう
使用rep
してlength
約 9776を取得してから、sample
df <- data.frame(x= sample(rep(seq_len(2444), length.out=9776)))
length(unique(df$x))
#[1] 2444
length.out
をeach
それと置き換える必要がある場合も同様に行うことができます
df1 <- data.frame(x= sample(rep(seq_len(2444), each = 4)))
length(unique(df1$x))
#[1] 2444
または@lmoが言及したように
df <- data.frame(x=sample(c(sample(2444), sample(2444, 9776-2444, replace=TRUE))))
または
df <- data.frame(x = sample(rep(sample(2444), length.out = 9776)))
length(unique(df$x))
#[1] 2444
head(df$x)
#[1] 858 1505 1631 105 79 268
tail(df$x)
#[1] 51 1545 100 1398 2261 682
OPの更新された質問で
df1 <- data.frame(x=sample(rep(head(sample(14610), 2444), each = 4)))
length(unique(df1$x))
#[1] 2444
df1 <- data.frame(x = sample(rep(head(sample(14610), 2444),
sample(rep(1:4, length.out=2444)))))
length(unique(df1$x))
#[1] 2444
table(table(df1$x))
# 1 2 3 4
# 611 611 611 611
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加