【问题标题】:Update subset of values in a dataframe column更新数据框列中的值子集
【发布时间】:2017-07-31 02:08:25
【问题描述】:

这是我的数据框的摘录:

  x         y     se
  4         a     7.146329
 15         a     8.458633
 17         a     9.286849
 11         b     6.700024
  8         b     4.697962  
 12         c     7.884244
 10         c     7.834816
 17         c     7.762385
 12         d     5.910785
 15         d     12.98158

我需要更新第一列,以便每个数字都减去 1,但适用于条件 a 和 b。也就是说,我会得到c(3, 14, 16, 10, 7, 12, 10, 17, 12, 15),而不是c(4, 15, 17, 11, 8, 12, 10, 17, 12, 15)

【问题讨论】:

  • df[df$y %in% c("a", "b"),"x"] <- df[df$y %in% c("a", "b"),"x"] - 1
  • 完美,谢谢!

标签: r dataframe replace subset


【解决方案1】:

可以在这里使用ifelse。假设数据框名为df1

df1$x <- ifelse(df1$y %in% c("a", "b"), df1$x - 1, df1$x)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    相关资源
    最近更新 更多