【发布时间】:2017-06-02 09:51:42
【问题描述】:
我有一个名为 demo 的数据框,有 500 条这样的记录
ID Age
1 10
2 15
3 36
4 20
. .
. .
497 40
498 5
499 12
500 20
在上面的数据框中,我想添加具有这样的值的列,即总记录的 25%(在我们的例子中为 125)它们必须在 1-3 和剩余之间,即 75%(从 126 开始)必须在 4-10 之间,这样输出看起来像这样
ID Age colB
1 10 2
2 15 1
3 36 1
4 20 3
. .
. .
497 40 8
498 5 10
499 12 5
500 20 9
我试过了
function(x) {
a= row.names(demo)[125]
a <- FALSE
while (!a) {
demo$colB <- sample(nrow(demo), c(1:3))
}
return(x)
}
任何帮助将不胜感激。谢谢
【问题讨论】:
标签: r for-loop while-loop conditional calculated-columns