If you can't read please download the document
Upload
anderson-sanches
View
22.760
Download
3
Embed Size (px)
DESCRIPTION
Curso de Introdução a Linguagem R para estatísticos ministrado no IMECC / UNICAMP e na SPSS.
Citation preview
2. Introduo a Linguagem R Prof. Me. Anderson Carlos D. Sanches [email_address] www.software.pro.br @andycds 3. Por que aprender? "Uma das coisas mais importantes que voc pode fazer dedicar um tempo para aprender uma linguagem de programao de verdade. Aprender a programar como aprender outro idioma: exige tempo e treinamento, e no h resultados prticos imediatos. Mas se voc supera essa primeira subida ngreme da curva de aprendizado, os ganhos como cientista so enormes. Programar no vai apenas livrar voc da camisa de fora dos pacotes estatsticos, mas tambm ir aguar suas habilidades analticas e ampliar os horizontes de modelagem estatstica." Traduo um tanto livre de Gotelli & Ellison, 2004. A Primer of Ecological Statistics. Sunderland, Sinauer. 4. Linguagem R
5. Manipulaes e objetos 6. Modos e atributos de objetos 7. Distribuies de probabilidade 8. Grficos 9. Programao 10. Apndice: Integrao de R com Banco de Dados MySQL 11. 12. 13. 14. 15. Histria
16. Software para manipulao de informaes, elaborao de clculos e desenho de grficos 17. Diversas aplicaes 18. Extensvel atravs de pacotes 19. Software Livre 20. Instalando o R no Windows
21. http://cran-r.c3sl.ufpr.br/ 22. 2. Execute a o instalador clicando sobre ele 23. 3. Selecione a ajuda complementar a ser instalada 24. 4. Selecione padro 25. 5. Clique no cone R 26. Instalando o R no Linux
27. Instalando pacotes adicionais
28. Escolher espelho cran: Brasil(PR) 29. Instalar pacotes: RMySQL
30. apt-get install r-cran-rmysql 31. Editor de texto para R
32. http://www.sciviews.org/Tinn-R/
33. J vem com o Gnome! 34. 35. Manipulaes e objetos 36. Manipulaes
37. Informaes da sesso: sessionInfo() 38. Para limpar a tela: Ctrl+L 39. Para sair: q() 40. Neste ponto possvel salvar a rea de trabalho (y), no salvar (n) ou cancelar a sada (c) 41. Pedindo ajuda
42. Para casos onde possa haver confuso na notao, use aspas: help( " [[") 43. Navegando na documentao: help.start() 44. Para procurar um assunto: ??solve ou help.search(solve) 45. Para ver um exemplo: example(dpois) 46. Tente tambm:?help.search e ?help 47. Outras ajudas
48. vignette() 49. vignette("foreach") 50. Procura no site do R (manuais e listas de e-mail): 51. RSiteSearch("foo") 52. Note que
53. Maisculas ou minsculas fazem diferena 54. Para comentar algo, voc pode usar # 55. Se um comando no terminou numa linha, o prompt do R muda de > para + 56. Voc pode usar novamente um comando acessando-o com as setas para cima e para baixo 57. R como calculadora
58. 913 + 15 / 3 + 2 59. 2 10 60. Agora faa voc: 61. Objetos
62. a = 3oua 3ou3 -> aouassign("a", 3) 63. Esta seta () representa o menor e o menos ( 1,96): 1 pnorm(1.96, 0, 1) = 0.0249 292. Encontre k tal que P(Z < k) = 0,05: qnorm(0.05,0,1) = -1.6448 293. Encontre k tal que P(Z > k) = 0.025: qnorm(1-0.025,0,1) = 1.9599 294. Distribuio uniforme
295. Alternativas p 0 u runif(1, 0, 1) if (u < 1/6) p -1 if (u > 5/6) p 1 p 0 u runif(1, 0, 1) if (u < 1/3) p -1 if (u > 2/3) p 1 p 0 u runif(1, 1, 6) if (u < 1/3) p -1 if (u > 2/3) p 1 p 0 u runif(1, 0, 1) if (u == 1/6) p -1 if (u == 5/6) p 1 p 0 u runif(1, 1, 6) if (u < 1/6) p -1 if (u > 5/6) p 1 296. Binomial
297. sum(dbinom(8:10,10,0.6)) 298. Binomial
299. Geomtrica
300. dgeom(2,0.1) 301. Geomtrica
302. Pascal
303. Um dado lanado sucessivamente at se obter a face "1" pela terceira vez. Qual a probabilidade de serem necessrios exatemente cinco lanamentos?0,01929012 304. dnbinom(2,3,1/6) 305. Pascal
306. Hipergeomtrico
307. dhyper(4, 7, 12-7, 6) 308. Hipergeomtrico
309. Poisson
310. exatamente um acidente num ms?0,329287E 2 em 2 meses?0,2168598
311. Poisson
312. Poisson
0,1428765
0,5134171
4
313. Poisson
3 * (1 sum(dpois(0:2, 2)))
314. Grficos 315. Exemplos
316. demo(persp) 317. demo(image) 318. demo(smooth) 319. Lista com todas as demonstraes: 320. demo() 321. Fontes e caracteres: 322. demo(Hershey); demo(Japanese); demo(plotmath) 323. Grficos
324. Existem alguns pacotes para auxiliar o desenho de grficos, como o rggobi e o rgl (para grficos 3D) 325. Manipular a janela grfica: 326. par(mfrow=c( linhas , colunas )) 327. Histograma: hist(rt(10000, 100))#rt: t-student 328. Boxplot: boxplot(rpois(50, 10), rpois(50, 20), rpois(50, 15)) 329. Grficos
330. tipos = c("p", "l", "b", "c", "o", "h", "s") 331. for(i in 1:length(tipos)) plot(sin, -pi, 2*pi, type = tipos[i]) 332. Disperso: 333. x1 runif(30, 1, 50); x2 runif(30, 0, 1) 334. y 2 + 0.5 * x1 + 4 * x2 + rnorm(30, 0, 1) 335. pairs(cbind(x1, x2, y)) 336. Grficos
337. nome = c("Anderson","Renata","Lili") 338. barplot(nota, names.arg = nome, main = "Notas da Prova") 339. cores = c("yellow", "blue", "green") 340. barplot(nota, names.arg = nome, main = "Notas da Prova", col = cores) 341. barplot(nota, names.arg=nome, main="Notas da Prova", col = cores, horiz = TRUE) 342. Programao 343. Programando com R
344. a 1 345. b a 346. a a + 1 347. Quanto vale o b? 348. Funes mediaNota function(unificada, regimental) { media= (2 * regimental + unificada) / 3 media } 349. Programando com R X = 2i + 1i = 2 27 350. Laos for resp = 0 for (i in 2:27) { resp = resp + (2*i + 1) } resp 351. Desafio
fatorial = function(n) { mult = 1 for (i in 2:n) { mult = mult * i } mult } 352. Laos while fatores = function(n) { f = 2 while (n > 1) { while (n %% f == 0) { print(f) n = n / f } f = f + 1 } } 353. Condicionais mediaFinal = function(unificada, regimental) { media = (2 * regimental + unificada) / 3 media = round(media, 1) if (media >= 7) { print(paste("Aprovado:", media)) } else { if (media >= 4) { print(paste("Exame:", media)) } else { print(paste("Reprovado:", media)) }}} 354. Parmetros nomeados
355. Operadores comparativos e lgicos
356. negao: ! 357. e: & 358. ou: | 359. ou exclusivo: xor() 360. lgico sequencial && e ||: avaliam somente at obter resultado 361. (1 > 2) | (4 != 2 + 2) 362. Escrevendo operadores
"%diferencaAbsoluta%" = function(x, y) { abs(x-y) } 363. Recursividade
364. Funes podem chamar outras funes, inclusive elas mesmas 365. Fibonnacci: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55... 366. Recursividade
367. if (x < 2) return(n) 368. else return(fibonacci(x - 1) + fibonacci(x - 2)) 369. } 370. Bibliografia
371. An Introduction to R:www.r-project.org 372. Tirinhas do Dilbert:http://www.flickr.com/photos/12110586@N06 373. Notas de aula da disciplina Linguagem de Programao do bacharelado em Estatstica da Unicapital, prof. Anderson Sanches 374. Consulte o autor para outras referncias 375. Dvidas
376. 377. Obrigado! Anderson Carlos D. Sanches www.software.pro.br [email_address] Dvidas, sugestes, correes? 378. Apndice: Banco de Dados com MySQL 379. Integrando R com MySQL
380. library("RMySQL") 381. Carregar o driver 382. drv = dbDriver("MySQL") 383. Conectar 384. con = dbConnect(drv, username="anderson", password="SENHA", dbname="world", host="localhost") 385. Depois de conectado
386. dbListTables(con) 387. Exibir os campos de uma tabela 388. dbListFields(con, "Country"); 389. Importar e exportar data.frames: 390. d