如何在R数据框列中求log10的反函数?
要查找数据框列的log10,可以使用log10函数,但要查找log10的反函数,可以通过将10的幂次方作为log10列来找到。例如,如果我们有一个名为df的数据框,其中包含一个列x,则可以使用以下方法找到log10:
log10(df$x)
之后,可以使用10^(df$x)找到反函数。
示例1
考虑以下数据框:
> x1<-sample(10000:99999,20) > x2<-rpois(20,2) > df1<-data.frame(x1,x2) > df1
输出
x1 x2 1 66210 2 2 42033 2 3 39309 2 4 80353 3 5 92864 2 6 48621 2 7 32400 1 8 55566 2 9 85535 5 10 57837 2 11 48539 1 12 29255 1 13 19305 1 14 54891 4 15 69511 3 16 35786 5 17 74461 0 18 23754 3 19 78146 1 20 16219 1
查找x1列的log10:
> df1$x1<-log10(df1$x1) > df1
输出
x1 x2 1 4.820924 2 2 4.623590 2 3 4.594492 2 4 4.905002 3 5 4.967847 2 6 4.686824 2 7 4.510545 1 8 4.744809 2 9 4.932144 5 10 4.762206 2 11 4.686091 1 12 4.466200 1 13 4.285670 1 14 4.739501 4 15 4.842054 3 16 4.553713 5 17 4.871929 0 18 4.375737 3 19 4.892907 1 20 4.210024 1
查找x1列的反函数:
> df1$x1<-10^(df1$x1) > df1
输出
x1 x2 1 66210 2 2 42033 2 3 39309 2 4 80353 3 5 92864 2 6 48621 2 7 32400 1 8 55566 2 9 85535 5 10 57837 2 11 48539 1 12 29255 1 13 19305 1 14 54891 4 15 69511 3 16 35786 5 17 74461 0 18 23754 3 19 78146 1 20 16219 1
示例2
> y1<-1:20 > y2<-sample(1000000:9999999,20) > df2<-data.frame(y1,y2) > df2
输出
y1 y2 1 1 7038766 2 2 1814441 3 3 7484636 4 4 3937342 5 5 4650626 6 6 2436222 7 7 9931589 8 8 2567213 9 9 2207442 10 10 5339350 11 11 4079052 12 12 8869255 13 13 1573860 14 14 9458496 15 15 8710227 16 16 2636125 17 17 4632768 18 18 4402171 19 19 1756356 20 20 5951907
查找y2列的log10:
> df2$y2<-log10(df2$y2) > df2
输出
y1 y2 1 1 6.847497 2 2 6.258743 3 3 6.874171 4 4 6.595203 5 5 6.667511 6 6 6.386717 7 7 6.997019 8 8 6.409462 9 9 6.343889 10 10 6.727488 11 11 6.610559 12 12 6.947887 13 13 6.196966 14 14 6.975822 15 15 6.940029 16 16 6.420966 17 17 6.665841 18 18 6.643667 19 19 6.244613 20 20 6.774656
查找y2列的反函数:
> df2$y2<-10^(df2$y2) > df2
输出
y1 y2 1 1 7038766 2 2 1814441 3 3 7484636 4 4 3937342 5 5 4650626 6 6 2436222 7 7 9931589 8 8 2567213 9 9 2207442 10 10 5339350 11 11 4079052 12 12 8869255 13 13 1573860 14 14 9458496 15 15 8710227 16 16 2636125 17 17 4632768 18 18 4402171 19 19 1756356 20 20 5951907
广告