我正在寻找一种在R中实现类似情况的方法--在SQL中实现功能。有一个变量与收入范围有关,我需要创建两个新变量,其值是范围的最小值和最大值。下面的代码不是完全的R,也不是完全的SQL,而是中间的一些代码。希望我想要做的事情是清楚的。
if (INCOME_CD == "A") { income.min <- 1000 income.max <- 14999 }否则if (INCOME_CD == "B") { income.min <- 15000 income.max <- 24999 。 。 }否则{ income.min <- 99999 income.max <- 999999 }
发布于 2013-01-16 19:49:20
您可以使用switch
在这里,最后一个值是默认值
switch (INCOME_CD ,
A= list(income.min = 1000,income.max = 14999),
B =list(income.min = 15000, income.max = 24999),
list(income.min = 99999,income.max = 999999))e.g
INCOME_CD <- 'A' 上面的代码返回
$income.min
[1] 1000
$income.max
[1] 14999编辑对OP的澄清
通常,我们在函数中使用此代码。
get.income <- function(INCOME_CD){
switch (INCOME_CD ,
A= list(income.min = 1000,income.max = 14999),
B =list(income.min = 15000, income.max = 24999),
list(income.min = 99999,income.max = 999999))
}
> get.income('A')
$income.min
[1] 1000
$income.max
[1] 14999
> get.income('B')
$income.min
[1] 15000
$income.max
[1] 24999
> get.income('C')
$income.min
[1] 99999
$income.max
[1] 999999https://stackoverflow.com/questions/14366464
复制相似问题