Pular para o conteúdo principal
Documentos
Compartir
LinkedIn
Facebook
Twitter
Copy
Gerenciamento de dados em REntrada de dados em RGráficos em RDocumentação RInterface REstatísticas em R

Subconjunto de dados no R

O R tem recursos avançados de indexação para acessar elementos de objetos. Esses recursos podem ser usados para selecionar e excluir variáveis e observações. Os trechos de código a seguir demonstram maneiras de manter ou excluir variáveis e observações e de obter amostras aleatórias de um conjunto de dados.

Seleção (manutenção) de variáveis

Execute este código

# select variables v1, v2, v3
myvars <- c("v1", "v2", "v3")
newdata <- mydata[myvars]

# another method
myvars <- paste("v", 1:3, sep="")
newdata <- mydata[myvars]

# select 1st and 5th thru 10th variables
newdata <- mydata[c(1,5:10)]

Para praticar isso de forma interativa, experimente os exercícios de seleção de elementos do quadro de dados no capítulo Quadros de dados deste curso de introdução ao R.

Excluindo (DROPPING) variáveis

Execute este código

# exclude variables v1, v2, v3
myvars <- names(mydata) %in% c("v1", "v2", "v3")

newdata <- mydata[!myvars]

# exclude 3rd and 5th variable
newdata <- mydata[c(-3,-5)]

# delete variables v3 and v5
mydata$v3 <- mydata$v5 <- NULL

Seleção de observações

Execute este código

# first 5 observations
newdata <- mydata[1:5,]

# based on variable values
newdata <- mydata[ which(mydata$gender=='F'
& mydata$age > 65), ]

# or
attach(mydata)
newdata <- mydata[which(gender=='F' & age > 65),]
detach(mydata)

Seleção usando a função de subconjunto

A função subset( ) é a maneira mais fácil de selecionar variáveis e observações. No exemplo a seguir, selecionamos todas as linhas que têm um valor de idade maior ou igual a 20 ou idade menor que 10. Mantemos as colunas ID e Weight.

Execute este código

# using subset function
newdata <- subset(mydata, age >= 20 | age < 10,
select=c(ID, Weight))

No próximo exemplo, selecionamos todos os homens com mais de 25 anos e mantemos as variáveis de peso até renda (peso, renda e todas as colunas entre elas).

Execute este código

# using subset function (part 2)
newdata <- subset(mydata, sex=="m" & age > 25,
select=weight:income)

Para praticar a função subset(), experimente este exercício interativo sobre subsetting data.tables.

Amostras aleatórias

Use a função sample( ) para obter uma amostra aleatória de tamanho n de um conjunto de dados.

Execute este código

# take a random sample of size 50 from a dataset mydata

# sample without replacement
mysample <- mydata[sample(1:nrow(mydata), 50,
   replace=FALSE),]