Caderno de anotações

Aqui farei algumas anotações principalmente dicas que facilitam a vida durante minha pesquisa aqui no grupo de Sistemas Complexos do IF-UFF.

Poster para Volta Redonda

Aqui um modelo de poster para os nossos trabalhos que serão apresentados em Volta Redonda orahcio_lawnp09.tar.gz

2010/09/20 17:10 · 0 Comments · 0 Linkbacks

Mais uma de estruturas de dados no R

Tenho vários arquivos de dados divididos entre 200 amostras de 6 parâmetros diferentes. Para tratar essa massa de dados apenas usei uma list para navegar entre os diferentes parâmetros que contém cada posição, uma data.frame para a tabele de amostras. A entrada de dados fica portanto?

x <- list()
for(i in 1:6) { # laço para parâmetros
  x[i] <- data.frame(read.table(paste('./data/N1e3p',format(p[i],sci=FALSE),'.',1,'..dat',sep="")))
  for(j in 2:200) { # laço para amostras, note que o data.frame foi iniciado e ele está nos dois lados da atribuição para que suas colunas possam ser adicionadas ao fim da tabela.
  # a função format deixa o número em decimal como no nome do arquivo e a função paste concatena meus objetos com um separador nulo (sep="")
    x[[i]] <- data.frame(x[[i]],read.table(paste('./data/N1e3p',format(p[i],sci=FALSE),'.',j,'..dat',sep="")))
  }
}

Agora a vida se torna mais fácil, por exemplo, vou querer o gráfico da evolução do valor médio das minhas amostras, então para o primeiro parâmetro por exemplo faço:

plot(1:1000,rowMeans(x[[1]][1:1000,]))

E o que mais a imaginação permitir.

2010/09/13 14:47 · 0 Comments · 0 Linkbacks

Vários níveis de dados no R

Bem poderia estar usando o python para essa tarefa. Mas vamos ao que interessa.

Tenho várias amostras de uma dada simulação: a1, a2, a3… E quero ainda variar os tipos de amostras: b1, b2… c1, c2…

Então como poderia reunir todas elas numa estrutura única no R? Basta usarmos listas de listas, recurso muito fácil de usar em linguagens como perl e python. O R também aceita isso.

Voltemos ao meu conjunto, D será minha estrutura mestre, e supondo que minhas amostras são separadas por parâmetros a, b, c, etc. Logo vou supor que a's, b's e c's já estejam abertos em listas, logo:

D[[1]] <- list(a1) # sem índice para a primeira entrada
D[[1]][2] <- list(a2) # a partir daqui usa-se o índice deste nível de dados
D[[1]][3] <- list(a3)
...
D[[2]] <- list(b1)
D[[2]][2] <- list(b2)
...

Claro que um laço for pode ser usado para otimizar o procedimento de leitura e novamente a read.table dar lugar às lista a's, b's, etc.

2010/09/10 19:10 · 0 Comments · 0 Linkbacks

Acessando arrays contidos dentro de uma lista no R

No post anterior ensinei a armazenar um arquivo de dados dentro de um elemento do objeto list no R. Agora para ter acesso a tais elementos do tipo:

x <- list()
x[1] <- read.table('arquivo1.txt')
x[2] <- read.table('arquivo2.txt')

A sintaxe não foi nada intuitiva:

print x[[1]][1:10]

Exibirá na tela

> print x[[1]][1:10]
 [1] 0.490 0.552 0.425 0.530 0.455 0.577 0.433 0.536 0.507 0.429

as dez primeiras linhas do meu arquivo de dados. Neste exemplo usei arquivos de uma coluna apenas, mas a função read.table lê quantas colunas existirem. Mais tarde eu descrevo ela melhor. Então o meu exemplo de arquivo:

arquivo1.txt

0.490
0.552
0.425
0.530

2010/09/10 14:51 · 0 Comments · 0 Linkbacks

Entrando com muitos arquivos de dados no R

O código abaixo serve para armazenar numa tabela do R uma sequência de arquivos: p050N1000.dat, p050N5000.dat, p050N10000.dat… Dessa maneira cada item da lista será por exemplo a série temporal armazenada nesses arquivos.

N <- c(1e3,5e3,1e4,5e4,1e5,5e5,1e6,5e6)
 
x <- list()
for(i in 1:8) {
  # a função format deixa o número em decimal como no nome do arquivo e a função paste concatena meus objetos com um separador nulo (sep="")
  x[i] <- read.table(paste('p050N',format(N[i],sci=FALSE),'.dat',sep=""))
}

Como meu processamento é o mesmo para cada arquivo isso irá facilitar muito a vida daqui pra frente.

2010/09/10 12:00 · 0 Comments · 0 Linkbacks

Linkbacks

Use the following URL for manually sending trackbacks: http://complex.if.uff.br/lib/plugins/linkback/exe/trackback.php/orahcio:home
orahcio/home.txt · Última modificação: 2011/07/24 22:22 por orahcio
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0