我有这种形式的数据:
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
'y'
列上的值代表收入,货币单位。我以原始形式对这些数据进行了探索性绘图,发现该图不太有用,数据的视觉效果不合适,所以为了改善我的可视化,我对{{1}应用了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
值恢复为原始形式。无论如何还是隐式'y'
函数来反转我应用的R
转换,这样我才能得到原始数字?
答案 0 :(得分:8)
很简单。
首先,调用log2:
data$y = log2(data$y)
之后,如果你想让原来的y回来,那就去做:
data$y = 2^data$y
logarithm是取幂的反函数。
一般规则是:
logb(x) = y as by = x
例如:
log2(4) = 2 as 22 = 4
log2(8) = 3 as 23 = 8