【发布时间】:2020-08-21 09:47:45
【问题描述】:
这里是 R 的新手。
我有一列既有负数又有正数。我想将所有负数更改为正数,因为它们被错误地分配为负数。如何在保留数据框中的所有其他列的同时做到这一点?
使用 df_Test
我已经尝试了一个小时,这让我发疯。值得注意的是,我的数据框不仅是数字的。任何帮助表示赞赏。
【问题讨论】:
标签: r
这里是 R 的新手。
我有一列既有负数又有正数。我想将所有负数更改为正数,因为它们被错误地分配为负数。如何在保留数据框中的所有其他列的同时做到这一点?
使用 df_Test
我已经尝试了一个小时,这让我发疯。值得注意的是,我的数据框不仅是数字的。任何帮助表示赞赏。
【问题讨论】:
标签: r
也许您可以尝试以下任一方法
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))
【讨论】:
您可以直接在特定列上调用abs():
df_Test <- df
df_Test$column <- abs(df_Test$column)
【讨论】: