Bioestatística
Prof. Dr. Edson Zangiacomi Martinez
Faculdade de Medicina de Ribeirão Preto
Universidade de São Paulo (USP)
Esta página está em construção!
Todo seu conteúdo não é definitivo...
Pedindo ajuda
Conjuntos de dados
Entrada de dados
Sair de uma seção
q()
quit()
Pedindo ajuda
help.start() # ajuda geral
help(foo) # ajuda sobre a função foo
?foo # o mesmo
apropos("foo") # lista todas as funções contendo foo
example(foo) # mostra um exemplo de uso da função foo
Informações
R.version.string # mostra a versão do R utilizada
Sys.Date() # exibe a data
Sys.time() # data e horário
Sys.timezone() # exibe a zona de horário
Conjuntos de dados do R
O R disponibiliza alguns conjuntos de dados, que são úteis para os novos usuários praticarem o que estão aprendendo. Para uma lista dos bancos de dados disponíveis, digite:
library(help = "datasets")
Por exemplo:
data(ToothGrowth) # lê o banco de dados ToothGrowth
ToothGrowth # exibe o conteúdo do banco de dados ToothGrowth
names(ToothGrowth) # exibe os nomes das variáveis em ToothGrowth
dim(ToothGrowth) # dimensões do banco de dados ToothGrowth
help(ToothGrowth) # informações do banco de dados ToothGrowth
ToothGrowth$len # exibe a variável len do banco de dados ToothGrowth
is.data.frame(ToothGrowth) # informa se ToothGrowth é um data frame
head(ToothGrowth) # exibe as seis primeiras linhas do banco de dados ToothGrowth
head(ToothGrowth, n=4) # exibe as quatro primeiras linhas do banco de dados ToothGrowth
tail(ToothGrowth) # exibe as seis últimas linhas do banco de dados ToothGrowth
tail(ToothGrowth, n=4) # exibe as quatro últimas linhas do banco de dados ToothGrowth
Entrada de dados
-
Definindo vetores com a função c()
idade <- c(16,16,18,17,15)
alturahomens <- c(1.75,1.68,1.84,1.92,1.73)
alturamulheres <- c(1.56,1.68,1.62,1.75)
alturatodos <- c(alturahomens, alturamulheres)
2. Definindo vetores com a função scan()
y <- scan()
#1:
Você pode digitar os dados ou copiá-los da área de transferência (copiar e colar).
Se estiver digitando, para encerrar a entrada de dados, teclar ENTER duas vezes consecutivas.
3. Definindo um data frame com a função edit()
dados <- edit(data.frame())
4. Lendo um data frame copiado da área de transferência
Clique aqui para abrir os dados em formato Excel.
Como exercício, marque e copie (CTRL-C) as três primeiras colunas do banco de dados, como mostrado a seguir:
dados <- read.table("clipboard",header=T)
dados
ID sexo idade
1 1 M 45
2 2 M 65
3 3 F 54
4 4 F 76
5 5 M 34
6 6 F 67
7 7 M 36
8 8 M 87
9 9 M 45
Use o argumento header=T se a primeira linha do banco de dados identifica os nomes das variáveis.
Agora, vamos marcar e copiar (CTRL-C) todo o conteúdo do banco de dados:
dados <- read.table("clipboard",header=T,dec=",")
dados
ID sexo idade peso
1 1 M 45 78.4
2 2 M 65 82.1
3 3 F 54 67.4
4 4 F 76 56.2
5 5 M 34 56.9
6 6 F 67 65.8
7 7 M 36 56.3
8 8 M 87 89.8
9 9 M 45 75.2
10 10 F 68 59.3
Usamos o argumento dec="," para indicar que as casas decimais são separadas por vírgulas.
Seja um arquivo em formato texto com o seguinte conteúdo:
nome;sexo;nota1;nota2;nota3
José;M;4,8;6,5;9,6
Pedro;M;6,9;7,5;8,9
Ricardo;M;3,2;9,7;7,9
Márcia;F;5,6;8,9;9,3
Cinthia;F;7,8;9,2;6,9
dados <- read.table("clipboard",header=T,dec=",",sep=";")
dados
nome sexo nota1 nota2 nota3
1 José M 4.8 6.5 9.6
2 Pedro M 6.9 7.5 8.9
3 Ricardo M 3.2 9.7 7.9
4 Márcia F 5.6 8.9 9.3
5 Cinthia F 7.8 9.2 6.9
Use o argumento sep=";" para indicar que os conteúdos das variáveis do data frame são separados por pontos-e-vírgulas.
5. Lendo um banco de dados em formato SPSS (extensão .sav)
Suponha que o arquivo que você quer ler foi salvo com o nome dataset.sav na pasta "E:/Aulas/R/".
# Usando o pacote memisc
library(memisc)
dados <- data.frame(as.data.set(spss.system.file("E:\\Aulas\\R\\dataset.sav")))
Outros pacotes do R, como o foreign, podem ser usados com o mesmo propósito:
library(foreign)
data <- read.spss("E:\\Aulas\\R\\dataset.sav", to.data.frame=TRUE)
6. Lendo um banco de dados em formato Microsoft Excel
6.1. Usando o pacote readxl
# Usando o pacote readxl
install.packages("readxl")
library(readxl)
packageVersion("readxl")
# Ler arquivos com extensão xls ou xlsx
dados <- read_excel("E:\\Aulas\\R\\Dados aula 3 ex 2.xlsx")
dados
# A tibble: 40 x 9
Numero Idade ecivil Tabagismo idade1filho Partos Peso Altura esaude
<dbl> <dbl> <chr> <chr> <chr> <dbl> <dbl> <dbl> <chr>
1 1 51 casada nao 26 3 74.6 1.59 bom
2 2 48 casada nao 20 2 53.3 1.51 bom
3 3 57 casada nao 20 3 64.0 1.63 bom
4 4 48 casada sim 21 3 68.6 1.58 regular
5 5 49 casada nao 28 1 77.9 1.52 bom
6 6 47 casada nao 15 3 59.9 1.52 bom
7 7 49 casada nao 19 3 64.0 1.64 regular
8 8 52 casada nao 30 1 70.5 1.66 regular
9 9 45 casada nao 27 1 72.6 1.53 bom
10 10 64 casada nao 20 2 66.0 1.50 bom
# ... with 30 more rows
names(dados)
[1] "Numero" "Idade" "ecivil" "Tabagismo" "idade1filho"
[6] "Partos" "Peso" "Altura" "esaude"
dados$Idade
6.2. Lendo o arquivo convertido em formato CSV
O formato CSV (Comma Separated Value) é um arquivo de texto que separa os valores por vírgulas, sendo usado por programas como o Excel.
1. Abra o arquivo original no Microsoft Excel.
2. Vá em "Arquivo" e "Salvar como", selecione uma pasta e salve o arquivo em format CSV. Escolha o tipo "CSV (separado por vírgulas)".
3. No programa R, use a função read.csv2() para ler o arquivo CSV.
dados <- read.csv2("E:\\Aulas\\R\\Dados aula 3 ex 2.csv")
No R, existem as funções read.csv()e read.csv2(). A diferença entre elas está nos defaults, sendo que:
-
read.csv()considera que as colunas (variáveis) do arquivo CSV são separadas por vírgulas e as casas decimais por pontos, e
-
read.csv2()considera que as colunas são separadas por pontos-e-vírgulas e as casas decimais por vírgulas.
read.csv
function (file, header = TRUE, sep = ",", quote = "\"",
dec = ".", fill = TRUE, comment.char = "", ...)
read.table(file = file, header = header, sep = sep, quote = quote,
dec = dec, fill = fill, comment.char = comment.char, ...)
<bytecode: 0x0000000016d13378>
<environment: namespace:utils>
read.csv2
function (file, header = TRUE, sep = ";", quote = "\"",
dec = ",", fill = TRUE, comment.char = "", ...)
read.table(file = file, header = header, sep = sep, quote = quote,
dec = dec, fill = fill, comment.char = comment.char, ...)
<bytecode: 0x0000000016d4a138>
<environment: namespace:utils>
Notas:
1. Notar que header = TRUE é assumido por default, ou seja, as funções read.csv()e read.csv2()consideram por default que a primeira linha do arquivo CSV refere-se aos nomes das variáveis.
2. Se você estiver usando o sistema operacional Windows, notar que as linhas
dados <- read.csv2("E:\\Aulas\\R\\Dados aula 3 ex 2.csv")
e
dados <- read.csv2("E:/Aulas/R/Dados aula 3 ex 2.csv")
têm o mesmo efeito.
3. Você também pode usar a função setwd()para indicar o diretório em que se encontram os seus arquivos de interesse:
setwd("E:\\Aulas\\R")
dados <- read.csv2("Dados aula 3 ex 2.csv")
setwd()significa "set working directory".
4. A função getwd()informa o diretório que está em uso neste momento. Todas as vezes que você tentar ler um arquivo no R, sem especificar na própria função um diretório, o R buscará o arquivo neste diretório .
getwd()
5. A função list.files()mostra todos os arquivos que estão salvos no diretório de trabalho.
list.files()
Se você quiser que o R liste somente os arquivos com extensão .csv, use:
list.files(pattern="\\.csv$")
Se você quiser que o R liste somente os arquivos com extensão .csv ou .r, use:
list.files(pattern="\\.(csv|r)$")
Nesta sintaxe, o símbolo $ serve para indicar que a busca se aplica ao final do nome do arquivo.