如何制作一个分类另一个矢量的矢量

时间:2015-11-09 02:28:34

标签: r

假设我有一个数字整数数据的向量A,我想获得一个相同长度的新向量B,这样在相应的地方,如果向量A中的数据是负数,那么它在向量中是“a” B,如果是0,则为“b”,“c”为正? 例如:

v1<-c(1,-1,-2,0)

所以我想得到像这样的v2

c("c","a","a","b")

有没有灵巧的方式呢?

2 个答案:

答案 0 :(得分:2)

非常原始:

letters[sign(v1) + 2]
# [1] "c" "a" "a" "b"

答案 1 :(得分:0)

通常,ifelse适用于以下内容:

ifelse(v1 < 0, 'a', ifelse(v1 == 0, 'b', 'c'))

您还可以使用cut进行任意间隔装箱和标记:

cut(v1, breaks = c(-Inf, -.5, .5, Inf), labels = c('a', 'b', 'c'))