GNU R,创建一个新的数组
问题描述:
在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"
如何做到这一点?
答
您可以尝试cut
x1 <- as.character(cut(x, breaks=c(0, 2, 5, Inf), labels=LETTERS[1:3]))
x1
#[1] "A" "A" "B" "B" "B" "C"
答
可以使用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"