Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Próxima revisão | Revisão anterior Próxima revisão Ambos lados da revisão seguinte | ||
cursos:ruel:sessao0 [2007/12/18 17:50] paulojus criada |
cursos:ruel:sessao0 [2007/12/19 14:26] uel |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
====== Sessão Inicial -- Fundamentos da Linguagem R ====== | ====== Sessão Inicial -- Fundamentos da Linguagem R ====== | ||
+ | |||
+ | Ciando um diretório (pasta) de trabalho, e mudando o //workspace// do R para este diretório. | ||
+ | <code R> | ||
+ | getwd() | ||
+ | dir.create("c:\\cursoR") | ||
+ | setwd("c:\\cursoR") | ||
+ | getwd() | ||
+ | </code> | ||
+ | |||
+ | Vamos usar o conjunto de dados ''hills'' do pacotes ''MASS'' | ||
<code R> | <code R> | ||
require(MASS) | require(MASS) | ||
Linha 7: | Linha 17: | ||
rownames(hills) | rownames(hills) | ||
class(hills) | class(hills) | ||
- | #mh <- edit(hills) | + | </code> |
+ | Duplicando e modificando o conjunto de dados em outro objeto | ||
+ | <code R> | ||
+ | mh <- edit(hills) | ||
+ | </code> | ||
+ | |||
+ | <code R> | ||
str(hills) | str(hills) | ||
Linha 96: | Linha 112: | ||
str(ml) | str(ml) | ||
length(ml) | length(ml) | ||
+ | |||
+ | |||
+ | ml$b | ||
+ | |||
+ | is.list(ml) | ||
+ | is.list(ml$b) | ||
+ | is.matrix(ml$b) | ||
+ | is.data.frame(ml$b) | ||
+ | |||
+ | fc <- function(x){ | ||
+ | 100* sd(x)/mean(x) | ||
+ | } | ||
+ | |||
+ | fc <- function(x){ | ||
+ | if(!is.numeric(x)) | ||
+ | stop("objeto não numérico") | ||
+ | 100* sd(x)/mean(x) | ||
+ | } | ||
+ | fc(pessoas$peso) | ||
+ | fc(pessoas$sexo) | ||
+ | |||
+ | fc1 <- function(x){ | ||
+ | if(is.numeric(x)) res <- 100* sd(x)/mean(x) | ||
+ | else res <- table(x) | ||
+ | return(res) | ||
+ | } | ||
+ | |||
+ | fc1(pessoas$peso) | ||
+ | fc1(pessoas$sexo) | ||
+ | |||
+ | fc2 <- function(x) { | ||
+ | if(is.numeric(x)) { | ||
+ | m <- mean(x) | ||
+ | s <- sd(x) | ||
+ | cv <- 100*s/m | ||
+ | ai <- diff(range(x)) | ||
+ | res <- c(média=m, "desvio padrão"=s, CV=cv, amplitude=ai) | ||
+ | } | ||
+ | else{ | ||
+ | tb <- table(x) | ||
+ | moda <- tb[which.max(tb)] | ||
+ | res <- list(frequencias=tb, moda=moda) | ||
+ | } | ||
+ | return(res) | ||
+ | } | ||
+ | |||
+ | fc2(pessoas$peso) | ||
+ | fc2(pessoas$sexo) | ||
+ | |||
+ | lapply(pessoas, fc2) | ||
+ | |||
+ | df.res <- lapply(pessoas, fc2) | ||
+ | df.res | ||
+ | is.list(df.res) | ||
+ | str(df.res) | ||
+ | |||
+ | summary(pessoas) | ||
+ | sum.res <- summary(pessoas) | ||
+ | sum.res | ||
+ | class(sum.res) | ||
+ | str(sum.res) | ||
+ | |||
+ | ## redirecionando saida para um arquivo texto | ||
+ | sink("saidas.txt") | ||
+ | summary(pessoas) | ||
+ | lapply(pessoas, fc2) | ||
+ | pessoas | ||
+ | sink() ## voltando para o dispositivo de saida padrão (tela) | ||
+ | |||
+ | summary(pessoas) | ||
+ | |||
+ | |||
+ | |||
</code> | </code> |