如何使用R替换列中的特定值

时间:2017-12-22 13:31:45

标签: r

以下是参考X1的数据集

X1 <- data.frame(A = c(2,3,4,5,6,7),
                 B = c(0,0,0.23,1.7,2.45,84.5))  
#  A     B
#1 2  0.00
#2 3  0.00
#3 4  0.23
#4 5  1.70
#5 6  2.45
#6 7 84.50

现在我需要将大于0的值替换为1

#  A B
#1 2 0
#2 3 0
#3 4 1
#4 5 1
#5 6 1
#6 7 1

2 个答案:

答案 0 :(得分:1)

使用:

X1$B <- as.integer(X1$B > 0)

结果:

> X1
  A B
1 2 0
2 3 0
3 4 1
4 5 1
5 6 1
6 7 1

答案 1 :(得分:0)

所以你的data.frame是:

X1<-data.frame(A=2:7,B=c(0,0,0.23,1.7,2.45,84.5))

并且您希望将B列中的所有大于0的值替换为1.使用可以使用'[&lt; - '的标准内置子替换函数,即:

X1[X1[,"B"]>0,"B"]<-1

即。检查B列中的值是否大于零,如果为true则将其替换为1。