如何反转log2转换

Mig*_*488 7 math logarithm r dplyr

我有这种形式的数据:

        ds           y
1   2015-12-31 51737806366
2   2016-01-01   451800500
3   2016-01-04    48503189
4   2016-01-06      221000
5   2016-01-07   542483038
6   2016-01-08   628189789
7   2016-01-09   556762005
8   2016-01-10   195672447
9   2016-01-11   279202668
10  2016-01-12   540234196
11  2016-01-13  3403591404
12  2016-01-14   610409176
Run Code Online (Sandbox Code Playgroud)

'y'列上的值表示收入,货币单位.我以原始形式对这些数据进行了探索性绘图,发现该图不太有用,数据的视觉效果不合适,所以为了改进我的可视化,我将一个log2()转换应用到了'y'列...它工作得很好:

        ds        y
1   2015-12-31 35.59050
2   2016-01-01 28.75111
3   2016-01-04 25.53158
4   2016-01-06 17.75369
5   2016-01-07 29.01500
6   2016-01-08 29.22663
7   2016-01-09 29.05249
8   2016-01-10 27.54387
9   2016-01-11 28.05674
10  2016-01-12 29.00901
11  2016-01-13 31.66441 
Run Code Online (Sandbox Code Playgroud)

现在的问题是,为了完成我的分析,我需要将'y'值恢复到原始形式.无论如何还是隐式R函数来反转log2()我应用的转换,所以我可以得到原始数字?

Thi*_*aci 12

这很简单.

首先,调用log2:

data$y = log2(data$y)
Run Code Online (Sandbox Code Playgroud)

在那之后,如果你想让原来的y回来,那就做:

data$y = 2^data$y
Run Code Online (Sandbox Code Playgroud)

对数是反函数幂.

一般规则是:

   logb(x) = y as by = x   

例如:

   log2(4) = 2 as 22 = 4
   log2(8) = 3 as 23 = 8