Как использовать функцию replication() в r (с примерами)


Вы можете использовать функцию replication() для многократного вычисления выражения в R определенное количество раз.

Эта функция использует следующий базовый синтаксис:

копировать (n, выражение)

Золото:

  • n : количество повторных вычислений выражения.
  • expr : Выражение для оценки.

Следующие примеры показывают, как использовать эту функцию на практике.

Пример 1. Повторение значения несколько раз

Следующий код показывает, как использовать функцию replication() для многократного вычисления одного значения несколько раз:

 #replicate the value 3 exactly 10 times
replicate(n= 10,3 )

[1] 3 3 3 3 3 3 3 3 3 3

#replicate the letter 'A' exactly 7 times
replicate(n= 7 , ' A ')

[1] “A” “A” “A” “A” “A” “A” “A”

#replicate FALSE exactly 5 times
replicate(n= 5 , FALSE )

[1] FALSE FALSE FALSE FALSE FALSE

Пример 2. Повторение функции несколько раз

Теперь предположим, что мы хотим повторно вычислить функцию.

Например, предположим, что мы используем функцию rnorm() для получения трех значений случайной величины , которая соответствует нормальному распределению со средним значением 0 и стандартным отклонением 1:

 #make this example reproducible
set. seeds (1)

#generate 3 values that follow normal distribution
rnorm(3, mean= 0 , sd= 1 ) 

[1] -0.6264538 0.1836433 -0.8356286

Используя функцию replication() , мы можем многократно выполнять функцию rnorm() несколько раз.

Например, мы можем вычислить эту функцию 5 раз:

 #make this example reproducible
set. seeds (1)

#generate 3 values that follow normal distribution (replicate this 4 times)
replicate(n= 4 , rnorm(3, mean= 0 , sd= 1 ))

           [,1] [,2] [,3] [,4]
[1,] 1.5952808 0.4874291 -0.3053884 -0.6212406
[2,] 0.3295078 0.7383247 1.5117812 -2.2146999
[3,] -0.8204684 0.5757814 0.3898432 1.1249309

В результате получается матрица из 3 строк и 4 столбцов.

Или, может быть, мы хотели бы вычислить эту функцию 6 раз:

 #make this example reproducible
set. seeds (1)

#generate 3 values that follow normal distribution (replicate this 6 times)
replicate(n= 6 , rnorm(3, mean= 0 , sd= 1 ))

           [,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1.5952808 0.4874291 -0.3053884 -0.6212406 -0.04493361 0.8212212
[2,] 0.3295078 0.7383247 1.5117812 -2.2146999 -0.01619026 0.5939013
[3,] -0.8204684 0.5757814 0.3898432 1.1249309 0.94383621 0.9189774

В результате получается матрица из 6 строк и 3 столбцов.

Используйте replication() для моделирования данных

Функция replication() особенно полезна для запуска моделирования.

Например, предположим, что мы хотим создать 5 выборок размером n = 10, каждая из которых соответствует нормальному распределению.

Мы можем использовать функцию replication() для создания 5 различных образцов, а затем использовать функцию colMeans() для нахождения среднего значения каждого образца:

 #make this example reproducible
set. seeds (1)

#create 5 samples each of size n=10
data <- replicate(n=5, rnorm(10, mean= 0 , sd= 1 ))

#view samples
data

            [,1] [,2] [,3] [,4] [,5]
 [1,] -0.6264538 1.51178117 0.91897737 1.35867955 -0.1645236
 [2,] 0.1836433 0.38984324 0.78213630 -0.10278773 -0.2533617
 [3,] -0.8356286 -0.62124058 0.07456498 0.38767161 0.6969634
 [4,] 1.5952808 -2.21469989 -1.98935170 -0.05380504 0.5566632
 [5,] 0.3295078 1.12493092 0.61982575 -1.37705956 -0.6887557
 [6,] -0.8204684 -0.04493361 -0.05612874 -0.41499456 -0.7074952
 [7,] 0.4874291 -0.01619026 -0.15579551 -0.39428995 0.3645820
 [8,] 0.7383247 0.94383621 -1.47075238 -0.05931340 0.7685329
 [9,] 0.5757814 0.82122120 -0.47815006 1.10002537 -0.1123462
[10,] -0.3053884 0.59390132 0.41794156 0.76317575 0.8811077

#calculate mean of each sample
colMeans(data)

[1] 0.1322028 0.2488450 -0.1336732 0.1207302 0.1341367

По результату мы видим:

  • Среднее значение первой выборки составляет 0,1322 .
  • Среднее значение второго образца составляет 0,2488 .
  • Среднее значение третьего образца составляет -0,1337 .

И так далее.

Дополнительные ресурсы

Как выбрать определенные столбцы в R
Как удалить столбцы из фрейма данных в R
Как удалить строки из фрейма данных на основе условия в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *