如何将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

以上是 如何将R数据帧中的负值转换为正值? 的全部内容, 来源链接: utcz.com/z/355018.html

回到顶部