我有data.frame
这样:
Col1 Col2 Col3 Col4 Col5 Col6
1 1982 0 0 -211 107 0
2 4412 0 989 0 296 0
3 0 -5051 0 -267 389 920
4 0 -2983 0 -215 0 1639
5 0 -1326 0 -861 0 0
6 3722 0 89 0 243 13349
如何将负值更改为绝对值?
答案 0 :(得分:30)
abs(dat)
其中dat
是数据框的名称。
答案 1 :(得分:5)
您可以执行以下操作(假设您的原始data.frame
被称为“mydf”):
mydf[] <- lapply(mydf, abs)
mydf
# Col1 Col2 Col3 Col4 Col5 Col6
# 1 1982 0 0 211 107 0
# 2 4412 0 989 0 296 0
# 3 0 5051 0 267 389 920
# 4 0 2983 0 215 0 1639
# 5 0 1326 0 861 0 0
# 6 3722 0 89 0 243 13349
答案 2 :(得分:0)
如果您的数据框同时包含numeric
和character
列:
#dataframe is your original dataframe.
abs.dat <- data.frame %>%
dplyr::select(where(is.numeric)) %>%
abs()
仅选择数字列。