如何在不使用符号函数的情况下从另一个矢量生成每个元素的符号的矢量

时间:2019-06-07 06:56:09

标签: r

我有这个向量

y <- c(3, 3, -5, -1)

我想找出每个元素的符号而不使用符号功能, 因此,新生成的向量如下,'p'表示正,'n'表示负 结果是 我想创建向量

# 'p' 'p' 'n' 'n'

如何在R编程中做到这一点?

1 个答案:

答案 0 :(得分:1)

我们可以尝试使用ifelse作为基本R选项:

y <- c(3,3,-5,-1)
y_sign <- ifelse(y < 0, "n", "p")
y_sign

[1] "p" "p" "n" "n"

如果我们还希望有一个单独的标签z恰好为零,那么我们可以尝试:

y_sign <- ifelse(y == 0, "z", ifelse(y < 0, "n", "p"))