2015-01-14 41 views
0

在GNU R中,我希望从一个数字数组中创建一个字符串数组,用于对数字区间进行分类。例如:GNU R,创建一个新的数组

x <- c(1:6) 

新的阵列应归类间隔数,例如:

x <= 2 --> "Category A" 
x > 2 & x <= 5 --> "Category B" 
x > 5 -- > "Category C" 

,使新的阵列采用以下格式:

x1 
[1] "A" "A" "B" "B" "B" "C" 

如何做到这一点?

回答

1

您可以尝试cut

x1 <- as.character(cut(x, breaks=c(0, 2, 5, Inf), labels=LETTERS[1:3])) 
x1 
#[1] "A" "A" "B" "B" "B" "C" 
0

可以使用sapply功能,如果你需要做的条件,在别的东西:

sapply(x, function(x){ 
    if(x <= 2){ 
    "A" 
    } else if (x > 2 && x <= 5){ 
    "B" 
    } else if (x > 5){ 
    "C" 
    } 
}) 

[1] "A" "A" "B" "B" "B" "C"