【问题标题】:how to replace particular value in column using R [duplicate]如何使用R替换列中的特定值[重复]
【发布时间】:2018-06-05 03:51:18
【问题描述】:

以下是数据集供参考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

【问题讨论】:

  • 试试X1$B &lt;- ifelse(X1$B &gt; 0, 1, 0)
  • 很多不同的方法可以做到这一点,但我个人喜欢替换:df$B &lt;- replace(df$B, df$B&gt;0, 1)

标签: r


【解决方案1】:

所以你的 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。

【讨论】:

    【解决方案2】:

    与:

    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
    

    【讨论】:

    • @MichaelChirico 不,他说“大于 0 为 1”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    相关资源
    最近更新 更多