如何在RStudio中重新编码向量

时间:2018-08-01 13:36:39

标签: r

我想重新编码数字矢量。 所有大于1的数字矢量都应编码为1。所有小于1的矢量都应编码为0。

示例:

X    Y
1    1029
2    0
3    12
4    -2

我希望收到的东西:

X    Y
1    1
2    0
3    1
4    0

非常感谢

3 个答案:

答案 0 :(得分:1)

这里是pmax

的一个选项
pmax(sign(df$Y), 0)
#[1] 1 0 1 0

答案 1 :(得分:0)

如果您的数据框名为df,则:

> ifelse(sign(df$y)<0, 0, sign(df$y))
[1] 1 0 1 0

答案 2 :(得分:0)

使用dplyr软件包和使用ifelse的另一种解决方案:

library(dplyr)
df %>%
    mutate(y = ifelse(y > 1, 1, 0))