将随机区域分配给数据框

时间:2014-08-08 10:25:14

标签: r random sampling

我想为数据框中的所有元素分配一个随机区域。

假设数据框具有以下结构:

df:
age-height-nation -  zone
13,'tall','American', -
.....
11,'tall','S.american', -

我希望填充[zone]列,作为区域的可能值(' A',' B'' C')。每个区域的概率各不相同。例如:

prob(A)=0.1
prob(B)=0.3
prob(C)=0.6

我怎样才能为df中的所有元素分配区域,如上所述是概率?

提前致谢,p。

1 个答案:

答案 0 :(得分:1)

这应该这样做:

df$zone <- sample(LETTERS[1:3], nrow(df), replace = TRUE, prob = c(0.1, 0.3, 0.6))

您可以将LETTERS[1:3]替换为c("A", "B", "C")或您想要的任何字符串。