Вы можете использовать функцию log() в R для вычисления журнала некоторого значения с указанной базой:
#calculate log of 9 with base 3
log(9, base=3)
Если вы не укажете базу, R будет использовать базовое значение e по умолчанию.
#calculate log of 9 with base *e*
log(9)
[1] 2.197225
В следующих примерах показано, как использовать эту функцию на практике.
Пример 1: вычислить логарифм одного значения
В следующем коде показано, как рассчитать журнал отдельных значений в R с использованием разных баз:
#calculate log of 100 with base *e*
log(100)
[1] 4.60517
#calculate log of 100 with base 10
log(100, base=10)
[1] 2
#calculate log of 100 with base 3
log(100, base=3)
[1] 4.191807
Пример 2: вычислить логарифм значений в векторе
Следующий код показывает, как вычислить журнал каждого значения в векторе в R:
#define vector
x <- c(3, 6, 12, 16, 28, 45)
#calculate log of each value in vector with base *e*
log(x)
[1] 1.098612 1.791759 2.484907 2.772589 3.332205 3.806662
Пример 3: Расчет журнала значений во фрейме данных
В следующем коде показано, как рассчитать журнал значений в определенном столбце фрейма данных в R:
#define data frame
df <- data.frame(var1=c(1, 3, 3, 4, 5),
var2=c(7, 7, 8, 3, 2),
var3=c(3, 3, 6, 6, 8),
var4=c(1, 1, 2, 8, 9))
#calculate log of each value in 'var1' column
log(df$var1, base=10)
[1] 0.0000000 0.4771213 0.4771213 0.6020600 0.6989700
А следующий код показывает, как использовать функцию sapply() для вычисления журнала значений в каждом столбце фрейма данных:
#define data frame
df <- data.frame(var1=c(1, 3, 3, 4, 5),
var2=c(7, 7, 8, 3, 2),
var3=c(3, 3, 6, 6, 8),
var4=c(1, 1, 2, 8, 9))
#calculate log of values in every column
sapply(df, function (x) log(x, base=10))
var1 var2 var3 var4
[1,] 0.0000000 0.8450980 0.4771213 0.0000000
[2,] 0.4771213 0.8450980 0.4771213 0.0000000
[3,] 0.4771213 0.9030900 0.7781513 0.3010300
[4,] 0.6020600 0.4771213 0.7781513 0.9030900
[5,] 0.6989700 0.3010300 0.9030900 0.9542425
Дополнительные ресурсы
Как преобразовать данные в R (логарифм, квадратный корень, кубический корень)
Как использовать функцию квадратного корня в R
Как найти антилог значений в R