【问题标题】:Change only the negative values in a column keeping all other columns in R仅更改列中的负值,保留 R 中的所有其他列
【发布时间】:2020-08-21 09:47:45
【问题描述】:

这里是 R 的新手。

我有一列既有负数又有正数。我想将所有负数更改为正数,因为它们被错误地分配为负数。如何在保留数据框中的所有其他列的同时做到这一点?

使用 df_Test

我已经尝试了一个小时,这让我发疯。值得注意的是,我的数据框不仅是数字的。任何帮助表示赞赏。

【问题讨论】:

    标签: r


    【解决方案1】:

    也许您可以尝试以下任一方法

    sign(df)*df
    

    abs(df)
    

    给了

               x          y
    1  0.6264538 1.51178117
    2  0.1836433 0.38984324
    3  0.8356286 0.62124058
    4  1.5952808 2.21469989
    5  0.3295078 1.12493092
    6  0.8204684 0.04493361
    7  0.4874291 0.01619026
    8  0.7383247 0.94383621
    9  0.5757814 0.82122120
    10 0.3053884 0.59390132
    

    虚拟数据

    df <- structure(list(x = c(-0.626453810742332, 0.183643324222082, -0.835628612410047, 
    1.59528080213779, 0.329507771815361, -0.820468384118015, 0.487429052428485,
    0.738324705129217, 0.575781351653492, -0.305388387156356), y = c(1.51178116845085,
    0.389843236411431, -0.621240580541804, -2.2146998871775, 1.12493091814311,
    -0.0449336090152309, -0.0161902630989461, 0.943836210685299,
    0.821221195098089, 0.593901321217509)), class = "data.frame", row.names = c(NA,
    -10L))
    

    【讨论】:

      【解决方案2】:

      您可以直接在特定列上调用abs()

      df_Test <- df
      df_Test$column <- abs(df_Test$column)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-09
        • 1970-01-01
        • 2022-11-23
        • 2022-10-13
        • 1970-01-01
        • 2022-11-14
        • 1970-01-01
        • 2021-10-26
        相关资源
        最近更新 更多