Получения одного рандомного числа из вектора в R

birth <- c(1960:1985)
BirthYear <- sample(birth, 20)
x <- BirthYear + 18
EmployYear <- c(x[1]:2006, x[2]:2006, x[3]:2006, x[4]:2006, x[5]:2006, x[6]:2006, x[7]:2006, x[8]:2006, x[9]:2006, x[10]:2006, x[11]:2006, x[12]:2006, x[13]:2006, x[14]:2006, x[15]:2006, x[16]:2006, x[17]:2006, x[18]:2006, x[19]:2006, x[20]:2006)

Мне нужно, чтобы в векторе EmployYear было по одному числу из каждого мини-вектора (имею ввиду одно число из x[1]:2006, например).


Ответы (1 шт):

Автор решения: aleksandr barakin

вопрос, собственно, состоит из двух частей:

  1. получить одно случайно выбранное число из диапазона значений начало:конец можно, например, с помощью функции sample():

    sample(100:200, 1)
    #> [1] 184
    
  2. применить какую-нибудь функцию к каждому элементу вектора можно, например, с помощью функции sapply():

    вектор <- 1:5
    sapply(вектор, function(x) sample(x:10, 1))
    #> [1] 10 10  3  5  5
    

Created on 2021-04-06 by the reprex package (v0.2.1)

→ Ссылка