R 使用数字随机分配而不替换
我有一个包含100行的数据集,我有一个由4个值组成的字符串(R 使用数字随机分配而不替换,r,random,R,Random,我有一个包含100行的数据集,我有一个由4个值组成的字符串(a,B,C,D),我想随机分配给这些行。但是,我想将A分配到30行,B分配到20行,C分配到10行,D分配到40行。我该怎么办 df <- data.frame(ID=c(1:100)) values <- c("A", "B", "C", "D") df这里有两个选项。第一个函数可能会将值赋给df中的一列。这并不能保证A、B、C、D各有30、20、10和40个。相反,预期会有 df$values <- sample
a
,B
,C
,D
),我想随机分配给这些行。但是,我想将A
分配到30行,B
分配到20行,C
分配到10行,D
分配到40行。我该怎么办
df <- data.frame(ID=c(1:100))
values <- c("A", "B", "C", "D")
df这里有两个选项。第一个函数可能会将值赋给df
中的一列。这并不能保证A、B、C、D各有30、20、10和40个。相反,预期会有
df$values <- sample(values, nrow(df), FALSE, prob = c(.3,.2,.1.,.4))
df$values[sample(1:nrow(df), nrow(df), FALSE)] <- rep(values, c(30,20,10,40))