【问题标题】:adding a column in R to a dataframe [duplicate]将R中的列添加到数据框[重复]
【发布时间】:2013-09-08 14:40:36
【问题描述】:

如何根据数据框另一列中的值向 R 中的数据框添加一列?

例如,如果我有一个列作为 x$n = [1,2,3,4,5,6] (其他列中的值并不完全重要。我想要另一列作为分配的“类别”列如果 x$n 4,则值为 3。因此我的对应列将是 x$category = [0,0,1,1,2, 2]

【问题讨论】:

    标签: r dataframe categories


    【解决方案1】:

    使用cut

    within(x, category <- as.integer(cut(n,c(-Inf,2,4,Inf)))-1)
    

    使用ifelse

    within(x, category <- ifelse(n>4, 2, ifelse(n>2, 1, 0)))
    

    使用隐式布尔值 -> 整数强制::

    within(x, category <- (n>2) + (n>4))
    

    【讨论】:

      【解决方案2】:

      如果你有:

      x = data.frame(n = 1:6)
      

      并且只有三个类别,那么最简单的解决方案是:

      x$category = 0
      x$category[x$n > 2] = 1
      x$category[x$n > 4] = 2
      

      如果你想变得非常聪明,那么你可以这样做:

      x$category = floor(x$n/2.5)
      

      floor 函数只是向下取整。

      【讨论】:

        猜你喜欢
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        • 2017-10-17
        • 1970-01-01
        • 2014-12-28
        • 2020-08-02
        • 2018-10-14
        • 1970-01-01
        相关资源
        最近更新 更多