R中的Log()和Log10()函数

时间:2020-02-23 14:43:51  来源:igfitidea点击:

R中的log()和log10()函数是数据分析(尤其是探索性数据分析)中最有用的函数。

Log是对数的缩写。
简单来说,对数就像指数。

例如,如果最终值为16,那么您将增加2的幂是多少?

如果您的答案是4,那么花点时间欣赏一下自己,您会擅长数学!

如果必须用对数来表示,则应将其写为-log2(16)=4。
对使用对数有想法吗?如果是,那么我们很好!

R中log()函数的语法

log()和log10():log函数计算自然对数(Ln),如果给定了底数,它将使用底数进行计算。
另一方面,log10()函数计算公共日志(Lg)。

log(x,base=b)

其中:

X =输入值。

基准=如果提到,对数值将以基准计算。

R中的简单log()函数

R中的log()函数将值作为输入,并返回与输出相同的对数值。
在本部分中,我们将一个简单的数字传递给log函数以了解其功能。

#Computes the logarithmic value of an input number
log(2)

0.6931472

如您在上面的输出中看到的,log函数获取输入值并计算其日志值。

#Computes the logarithmic values of a decimal value
log(5.2)

1.648659

您可以将所有实数与十进制数一起传递。
您还可以提及要计算的基本值。
让我们看一个简单的例子。

#Computes log value with base
log(16,base=2)

4

注意:您不能将负数传递给日志功能。
如果这样做,它将返回NaN错误。

R中的简单log10()函数

像log()函数一样,log10()函数也接受数字输入并为其计算公共日志值。
让我们看看它是如何工作的。

#Computes the common log for the input value
log10(5)

0.69897

如您所见,以上输出显示了输入值的通用日志。

#Computes the common log for the input values (decimal)
log10(123.567)

2.091903

同样是相同的规则-请勿使用负值作为输入。

带向量的Log()和log10()函数

让我们创建一个包含多个数值的向量,然后将该向量作为输入传递给log()函数以获取对数值。

#Creates a vector with values 
df<-c(23,45,6.7,55,88.9,4,3.789)

#Computes the log value 
log(df)

3.135494  3.806662  1.902108  4.007333  4.487512  1.386294 1.332102

好了,log()函数返回了输入的所有日志值。
现在,让我们尝试使用基本值。

#Creates a vector with values 
df<-c(23,45,6.7,55,88.9,4,3.789)

#Computes the log value 
log(df,base=2)

4.523562 5.491853 2.744161 5.781360 6.474112 2.000000 1.921817

哇!! R是超快的,并且返回所有带有基值2的日志值。
我希望您在R中使用这些函数会更好。

#Creates a vector with values 
df<-c(23,45,6.7,55,88.9,4,3.789)

#Computes the log value 
log10(df)

1.3617278 1.6532125 0.8260748 1.7403627 1.9489018 0.6020600 0.5785246

而已!您毫不费力地做到了。

带数据帧的log()和log10()函数

到现在为止–太好了。
通过使用log()和log10()函数来计算数据帧的日志值,让我们略微向前迈进。

让我们导入一个数据集并计算特定列中所有值的日志值。

#Importing the dataset 
datasets::airquality

空气质量数据集

这是一个"空气质量"数据集,让我们将log()函数应用于"温度"列中显示的值。

log(airquality$Temp[1:10])

4.204693 4.276666 4.304065 4.127134 4.025352
4.189655 4.174387 4.077537 4.1108744.234107

太棒了!!!您在"温度"列中获得了前10个值,并且log()函数返回了相同的日志值。
让我们使用R中的log10()函数进行相同的操作。

log10(airquality$Temp[1:10])

1.826075 1.857332 1.869232 1.792392 1.748188 
1.819544 1.812913 1.770852 1.785330 1.838849

这样,您可以在R中使用log()和log10()函数来获取输入的日志值。

绘制日志值

您几乎使用R中的log()和log10()函数完成了所有操作。
现在是时候绘制结果了。

#Plots the graph using the log values 
new_plot<-seq(0,100,by=0.1)
plot(new_plot,log(x),type = 'l',col='Red')