如何在 R 資料框中將負值轉換為正值?


有時我們需要使用絕對值,但是資料集中的幾個值是負數,因此,我們必須將它們轉換為正數。這可以透過使用 abs 函式來完成。例如,如果我們有一個帶有多列的資料框 df,並且每一列都有一些負值,那麼這些值可以透過僅使用 abs(df) 轉換為正值。

示例

考慮下面的資料框 −

 即時演示

set.seed(41)
x1<-sample(-1:1,20,replace=TRUE)
x2<-sample(-5:1,20,replace=TRUE)
df1<-data.frame(x1,x2)
df1

輸出

  x1 x2
1  1 -2
2 -1 -4
3  0  1
4  0  0
5 -1 -2
6  0   0
7  0  -4
8  0  -4
9   0 -2
10  1 -2
11  0 -1
12  1 -3
13 -1 -5
14  -1 0
15  0 -3
16 -1 -3
17  0 -5
18 -1 -2
19 -1 -5
20 -1 -4

將 df1 中的所有值轉換為正值 −

示例

> abs(df1)

輸出

  x1 x2
1  1 2
2  1 4
3  0 1
4  0 0
5  1 2
6  0 0
7  0 4
8  0 4
9  0 2
10 1 2
11 0 1
12 1 3
13 1 5
14 1 0
15 0 3
16 1 3
17 0 5
18 1 2
19 1 5
20 1 4

讓我們看看另一個示例 −

示例

 即時演示

y1<-sample(-10:10,20,replace=TRUE)
y2<-sample(-100:1,20)
y3<-sample(-100:-91,20,replace=TRUE)
y4<-sample(c(-100,-50,0,50,100),20,replace=TRUE)
df2<-data.frame(y1,y2,y3,y4)
df2

輸出

   y1  y2 y3  y4
1   8 -12 -99 100
2  -2 -37 -93 -50
3  -5 -85 -93 -100
4   6 -16 -93   0
5   2 -51 -91 50
6  -5 -50 -94 100
7   0 -38 -92 100
8  -3 -20 -95 -50
9   1 -42 -96 100
10 -8 -31 -94 -50
11 -4 -75 -100 0
12 -5 -80 -94 100
13  0 -1  -95   0
14  2 -99 -99  50
15  9 -45 -97 -50
16 -6 -79 -93  50
17 -2 -52 -94  0
18  9 -82 -96  50
19  8 -32 -95  0
20  4 -11 -99 -100

將 df2 中的所有值轉換為正值 −

示例

abs(df2)

輸出

  y1 y2 y3 y4
1  8 12 99 100
2  2 37 93 50
3  5 85 93 100
4  6 16 93 0
5  2 51 91 50
6  5 50 94 100
7  0 38 92 100
8  3 20 95 50
9  1 42 96 100
10 8 31 94 50
11 4 75 100 0
12 5 80 94 100
13 0 1 95 0
14 2 99 99 50
15 9 45 97 50
16 6 79 93 50
17 2 52 94 0
18 9 82 96 50
19 8 32 95 0
20 4 11 99 100

更新於:17-10-2020

7K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲取認證

開始
廣告
© . All rights reserved.