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

问题描述 投票:0回答:2

这个问题在这里已有答案:

以下是参考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
r
2个回答
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

0
投票

所以你的data.frame是:

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

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

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

即检查列B中的值是否大于零,如果为真,则用1替换它们。

© www.soinside.com 2019 - 2024. All rights reserved.