log2
Logaritmy a exponenciály
log {base} | Dokumentace R v češtině |
Popis
log
počítá logaritmy, předvoleně přirozené logaritmy, log10
počítá obecné (např., s bází 10) logaritmy, a log2
počítá binární (např., s bází 10) logaritmy. Všeobecná forma log(x, base)
počítá logaritmy s bází base
.
log1p(x)
počítá log(1+x) přesně také pro |x| << 1.
exp
počítá exponenciální funkci.
expm1(x)
počítá exp(x) - 1 přesně také pro |x| << 1.
Použití
log(x, base = exp(1))
logb(x, base = exp(1))
log10(x)
log2(x)
log1p(x)
exp(x)
expm1(x)
Argumenty
x |
a numerický nebo komplexní vektor. |
base |
pozitivní nebo komplexní číslo: báze, s kterou jsou logaritmy počítány. Předvolené na e= |
Detaily
Všechny kromě logb
jsou generické funkce: metody pro ně můžou být definovány individuálně nebo přes skupinové generikum Math
.
log10
a log2
jsou založeny jenom pro pohodlnost, ale logaritmy s bázemi 10 a 2 (jestli spočítány via log
nebo pohodlné funkce) se spočítají efektívněji a přesněji tam, kde budou podporovány operačním systémem. Metody pro ně můžou být nastaveny individuálně (jinak se použijí metody pro log
).
logb
je pohodlná funkce pro log
pro kompatibilitu se S. Jestli jsou (S3 nebo S4) metody nastaveny pro log
, budou odeslány. Nenastavujte S4 metody na logb
samotném.
Všechny kromě log
jsou primitivní funkce.
Hodnota
Vektor stejné délky jako x
obsahující transformované hodnoty. log(0)
vrací -Inf
, a log(x)
pro negativní hodnoty x
je NaN
. exp(-Inf)
je 0
.
Pro komplexní vstupy do funkcí log, hodnota je komplexní číslo s imaginární částí v rozsahu [-pi, pi]: to, který konec rozsahu je použit může být platformově specifické.
S4 metody
exp
, expm1
, log
, log10
, log2
a log1p
jsou generika S4 a jsou členmi skupinového generika Math
.
Všiměte si, že tohle znamená, že generikum S4 pro log
má podpis jenom s jedním argumentem, x
, ale že base
může být předána metodám (ale nebude použita pro výběr metody). Na druhou stranu, když nastavíte jenom metodu pro skupinové generikum Math
, pak bude argument base
patřící k log
pro vaší třídu ignorován.
Zdroj
log1p
a expm1
můžou být sebrány z operačního systému, ale jestli tam nejsou dostupné, tak potom jsou založeny na Fortran podprogramu dlnrel
od W. Fullertonona z Los Alamos Scientific Laboratory (viz http://www.netlib.org/slatec/fnlib/dlnrel.f) a (pro malé x) jeden Newtonův krok pro řešení log1p(y) = x
.
Reference
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole. (for log
, log10
and exp
.)
Chambers, J. M. (1998) Programming with Data. A Guide to the S Language. Springer. (for logb
.)
Viz také
Příklady
log(exp(3)) log10(1e7) # = 7
x <- 10^-(1+2*1:9)
cbind(x, log(1+x), log1p(x), exp(x)-1, expm1(x))