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