1

SQL の WHEN 機能と同様のことを R で実現する方法を探しています。収入の範囲に関連する変数があり、値が範囲の最小値と最大値である 2 つの新しい変数を作成する必要があります。以下のコードは完全な R ではなく、完全な SQL でもありませんが、その中間の何かです。うまくいけば、私がやろうとしていることは明らかです。

if (INCOME_CD == "A") {
収入.最小 <- 1000収入.
最大 <- 14999
} そうでなければ (収入_CD == "B") {収入.
最小 <- 15000収入.
最大 <- 24999
.
.
} そうでなければ{
収入.最小<-99999収入.最大<
-999999
}

4

1 に答える 1

2

あなたが使用することができます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))

例えば

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] 999999
于 2013-01-16T19:49:20.657 に答える