如何使用if语句对正常样本函数进行离散化?

时间:2018-01-18 06:09:30

标签: r

我正在尝试生成8个家庭作业问题的正常随机样本,每个问题最多50分。但是,我需要对这些值进行离散化,如果随机分数低于0,则将其设为0,如果高于50,则将其设为50.到目前为止,我有:

rawScores <- function(x) {
   rnorm(x, mean=40, sd=10)
   if (i < 0) i == 0
   if (i > 50) i == 50
}
rawScores(8)

但是,结果rawScores(8)为“NULL”。有人可以帮我正确格式化if语句吗?

1 个答案:

答案 0 :(得分:0)

希望,这有助于:

rawScores2 <- function(x) {
    ans <- rnorm(x, mean = 40, sd = 10)
    ans <- ifelse((ans < 0), 0, ans)
    ans <- ifelse((ans > 50), 50, ans)
    return(ans)
}