Как использовать функцию 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