Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何对log2变换求逆_R_Math_Dplyr_Logarithm - Fatal编程技术网

R 如何对log2变换求逆

R 如何对log2变换求逆,r,math,dplyr,logarithm,R,Math,Dplyr,Logarithm,我有以下表格中的数据: 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

我有以下表格中的数据:

        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'
列上的值表示收入、货币单位。我以原始形式对此数据进行了探索性绘图,发现绘图不太有用,数据的可视化不合适,因此为了改进可视化效果,我对
'y'
列应用了
log2()
转换。。。它工作得很好:

        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
函数来反转我应用的
log2()
转换,以便我可以恢复原始数字?

这很简单

首先,调用log2:

data$y = log2(data$y)
之后,如果要恢复原始y,只需执行以下操作:

data$y = 2^data$y
是指数的反函数

一般规则是:
   logb(x) = y as by = x
logb(x)=y作为by=x

例如:
   log2(4) = 2 as 22 = 4
   log2(8) = 3 as 23 = 8
log2(4)=2作为22=4

log2(8)=3为23=8

要将数字提高到R的幂,可以使用
x^z
。在这里,要转换该列,您需要执行
2^my_data$y
或类似操作。主要问题是您正在更改数据,而不是创建新变量(列)。看看
tidyverse
mutate
如何轻松做到这一点。蒂亚戈,非常感谢你的帮助,你真的让我完全理解了这个概念。它工作得很好!!非常感谢!!:我很高兴你得到了它。好极了