Как бы я подошел к созданию вектора из n случайных названий компаний для использования в качестве тестовых данных в R?

#r

#r

Вопрос:

 install.packages("wakefield") 
install.packages("randomNames")
install.packages('password')
install.packages('OpenRepGrid')
library(password)
library(wakefield)
library(randomNames)

locations <- c('Northwest', 'Midwest', 'Northeast', 'South', 'Southwest', 'Southeast', 
'International') # Vec of locations used
n <- 100 # number of data points generated
locPrefs <- numeric(n) # empty vec
randNum <- function(){ # Generate random num func
  randNum <- floor(runif(1,1,7))
  return(randNum)
}
for(i in 1:100){
  locPrefs[i] <- locations[randNum()]
}


studentData <- data.frame('first names'=randomNames(n, which.names = 'first'),'last 
names'=randomNames(n, which.names = 'last'),'username'=seq(1, 
n),'password'=password(8,numbers=TRUE),'gpa'=gpa(n, mean = 85.356, sd = 3.2, name = 
"GPA"),'visa'=sample(c("N","Y"), size = n, replace = TRUE, prob = c(.78, .22)), 'loc 
pref'=locPrefs) # data frame of data generated for students
  

Я генерирую данные для тестирования алгоритма сопоставления для сопоставления студентов и работодателей, и мне нужно сгенерировать вектор длины n некоторых случайных названий компаний. Некоторая помощь в создании этих названий компаний была бы отличной.

Ответ №1:

С некоторыми реальными данными, также использующими sample :

 sp500 <- read.csv("http://www.princeton.edu/~otorres/sandp500.csv")
sample(sp500$Name, 100)
  

Ответ №2:

 names = c("company 1", "company 2", "company 3")
sample(names, n)
  

Где n — размер вектора, который вы хотите. Вы можете настроить replace=TRUE замену draw.