2016-10-25 8 views
-2

私には列があり、条件があります。その列の値がどのカテゴリに属する​​かを調べる関数を作成します。R新しい列を生成する書き込み関数

column: 
Risk 
0.493 
1 
2 
1.7 
1 
1.7 
0.29 
0.493 
2 
0.493 

criteria: 
Low 
0 0.517 
Med 
0.517 1.859 
High 
1.859 Inf 

Desired output: 
0.493 Low 
1 Med 
2 High 
1.7 Med 
1 Med 
1.7 Med 
0.29 Low 
0.493 Low 
2 High 
0.493 Low 

私は関数を記述しようとしましたが、すべてのカテゴリメッドに出てくる:あなたのアドバイスのための

RiskCat <- function(x) { 
for (i in 1:length(x)){ 
if (i <= 0.517) { 
    print("Reduced") 
} else if (i > 0.517 & i <= 1.859){ 
    print("Med") 
} else if (i > 1.859) { 
    print("High") 
} } } 

おかげであなたを! 誰かが私の機能を修正することができるかもしれませんが、それは常にMedを印刷し、私はそれを理解できません。

+0

@RonakShahでこれを行うことができますし、それはそれはメッドですので、それは同じ質問ではない私に指示すべて、しかしあなたは概念が似ていると言うことができます。 –

答えて

0

私たちは、実際に私は私が(0.7)をRiskCatことができるように、機能を持つようにしたいcut

cut(df1$Risk, breaks = c(-Inf, 0.517, 1.859, Inf), labels = c("Low", "Med", "High")) 
#[1] Low Med High Med Med Med Low Low High Low 
#Levels: Low Med High 
関連する問題