【发布时间】:2018-02-02 03:10:29
【问题描述】:
我在 data.frame E 中有一个向量 ACCNS。ACCNS 有离散值 0、1、5、12、26 或 40。我想制作另一个向量 ACCNSrandom,它的“runif”值基于 0 -1、1-5、5-12、12-26、26-40 和 40-100。我已经用嵌套的 ifelse 尝试过,但每次都得到相同的值(如报告的here)。我无法弄清楚如何将该帖子中给出的答案应用于更一般的形式。任何帮助将不胜感激。
E<-data.frame(ACCNS=sample(c(0,1,2.5,5,12,26,40),50,replace = T))
E$ACCNSrandom <- ifelse( E$ACCNS == 0, runif(1,0,1),
ifelse(E$ACCNS>0 & E$ACCNS <= 2.5, runif(1,1,2.5),
ifelse( E$ACCNS > 2.5 & E$ACCNS<12, runif(1,2.5,12),
ifelse( E$ACCNS >= 12 & E$ACCNS<40, runif(1,12,40),
ifelse( E$ACCNS >= 40 & E$ACCNS<100, runif(1,40,100),0
) ) ) ) )
【问题讨论】:
-
我愿意接受任何解决方案,只要它是一个小数而不是一个因素,因为我需要稍后将它与另一个数字相乘。
-
您应该在问题中包含此评论,它是其中的一部分。
标签: r if-statement