【问题标题】:Categorizing numerate data in a column based on if it's lower or greater than 0, and putting the results in a new column in R根据数据小于或大于 0 对列中的数字数据进行分类,并将结果放入 R 中的新列中
【发布时间】:2023-01-12 10:49:08
【问题描述】:

抱歉,冗长的标题,不知道如何解释。我在 R 中有一个数据集,其中包含大量观察结果和 15 个变量。这些变量之一,“B”是连续的数字数据,范围从 -567 到 700。

基本上,如果“B”列中的数字小于 0,我想将其标记为“1”并创建一个新列“X”以在其中存储“1”分类变量。同样,如果数字大于 0,我希望将其标记为“2”并存储在新列“X”中。

R 的新手如此挣扎,不确定快速简便的方法。

【问题讨论】:

    标签: r dataframe categorical-data


    【解决方案1】:

    这是一个tidyverse 方法

    B <- -567:700
    
    df <- data.frame(B = B)
    
    library(dplyr)
    
    df %>% 
      mutate(X = if_else(B < 0, 1, 2))
    

    【讨论】:

    • 谢谢你。还有一种方法可以根据“X”列的分类值将这两个数据帧分成 2 个吗?
    【解决方案2】:

    使用base R

    df$X <- 1 + (df$B > 0)
    

    如果我们想split

    split(df, df$B > 0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 2020-01-08
      相关资源
      最近更新 更多