Gerar uma amostra aleatória simples no R

Para gerar uma amostra aleatória simples no R a partir de um conjunto de dados que você possui, o modo mais fácil é com a função sample() já apresentada aqui no post Como gerar números aleatórios no R?. A única diferença é que será necessário colocar como primeiro argumento o vetor em questão:

y = rnorm(1:100) # vetor com numeros aleatorios
amostra = sample(y, 10, replace = FALSE) # amostra sem reposicao com n=10

Se o seu conjunto de dados for um data frame, uma tabela, muda um pouco, mas continua simples. O exemplo abaixo foi feito com a tabela cars que vem no próprio R:

cars[sample(nrow(cars), 10), ] # amostra com n=10

Se você está construindo um modelo e quer dividir em base treino e teste, o pacote Caret do R facilita bastante. O código abaixo separa em base treino e teste (na proporção 80%-20%) os dados da tabela iris – que também vem no R, assim como cars. Tive que chamar todas as bibliotecas manualmente porque aqui estava dando erro com a função createDataPartition() (por motivos que eu desconheço):

install.packages("caret", dependencies = c("Depends", "Suggests"))
library(munsell)
library(ggplot2)
library(ModelMetrics)
library(recipes)
library(assertthat)
library(bindrcpp)
library(glue)
library(pkgconfig)
library(DEoptimR)
library(caret)
trainIndex <- createDataPartition(iris$Species, p = .8,
list = FALSE,
times = 1)
irisTrain <- iris[ trainIndex,] #treino
irisTest <- iris[-trainIndex,] #teste

Leia também: Árvore de Decisão no R

Anúncios

1 comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s