Ajuda programação!

Bom dia senhores! Suponhamos que tem-se dois níveis de um fator "p" e dois níveis de um fator "n", no qual os níveis do fator "p" irei representar pela letra "a" e os níveis do fator "n" pela letra "b". Então tem-se a seguinte configuração: k1 <- c(1.8850,2.1575,2.4775,2.7975) k2 <- c(2.9375,2.2475,2.7300,2.9950) tab <- matrix(c(k1,k2),ncol=2) rownames(tab) <- c('panb','panb,'panb','panb') colnames(tab) <- c('k1','k2') tab k1 k2 panb 1,8850 2,9375 panb 2,1575 2,2475 panb 2,4775 2,7300 panb 2,7975 2,9950 Vamos supor que eu queira os valores do nível 1 do fator "p" e nível 1 do fator "n". Então, a=1 e b=1; p1n1 1,8850 2,9375 Agora nível 1 do fator "p" e nível 2 do fator "n". Então, a=1, b=2; p1n2 2,1575 2,2475 Tem como automatizar isto em função destes dois parâmetros? algo como: medias = as.vector(tab[ab, ])???? A coluna não interessa, podem ficar tranquilo! Apenas as linhas interessam de acordo com os parâmetros. Se alguém puder me dar uma ajuda ficarei grato! Abraços! S,f.P (Allaman) \begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}

Vê aí se é isso mesmo o que vc quer:
expand.grid(1:2, 1:2) Var1 Var2 1 1 1 2 2 1 3 1 2 4 2 2 apply(expand.grid(1:2, 1:2), 1, function(x){paste('p', x[1], 'n', x[2], sep='')} ) [1] "p1n1" "p2n1" "p1n2" "p2n2"
Em 15 de julho de 2012 13:07, Ivan Bezerra Allaman <ivanalaman@yahoo.com.br> escreveu:
Bom dia senhores!
Suponhamos que tem-se dois níveis de um fator "p" e dois níveis de um fator "n", no qual os níveis do fator "p" irei representar pela letra "a" e os níveis do fator "n" pela letra "b". Então tem-se a seguinte configuração:
k1 <- c(1.8850,2.1575,2.4775,2.7975) k2 <- c(2.9375,2.2475,2.7300,2.9950) tab <- matrix(c(k1,k2),ncol=2) rownames(tab) <- c('panb','panb,'panb','panb') colnames(tab) <- c('k1','k2') tab k1 k2 panb 1,8850 2,9375 panb 2,1575 2,2475 panb 2,4775 2,7300 panb 2,7975 2,9950
Vamos supor que eu queira os valores do nível 1 do fator "p" e nível 1 do fator "n". Então, a=1 e b=1;
p1n1 1,8850 2,9375
Agora nível 1 do fator "p" e nível 2 do fator "n". Então, a=1, b=2;
p1n2 2,1575 2,2475
Tem como automatizar isto em função destes dois parâmetros?
algo como:
medias = as.vector(tab[ab, ])????
A coluna não interessa, podem ficar tranquilo! Apenas as linhas interessam de acordo com os parâmetros.
Se alguém puder me dar uma ajuda ficarei grato!
Abraços!
S,f.P (Allaman)
\begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Coloca as colunas que identificam os fatores junto com as respostas num data.frame() e usa tapply(), aggregate(), by(), etc para obter resumos por grupos. Será que entendi a pergunta? À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Também não sei se entendi a pergunta direito, mas se vc quer apenas um "atalho" para chamar determinada linha usando apenas os valores de "a" e "b", pode fazer algo como f <- function(a, b){ x <- paste("p", a, "n", b, sep = "") return(x) }
f(a = 1, b = 2) [1] "p1n2" f(a = 1, b = 1) [1] "p1n1" tab[f(1,1), ] k1 k2 1.8850 2.9375 as.vector(tab[f(1,1),]) [1] 1.8850 2.9375
[]s, --- Fernando Mayer Universidade Federal de Santa Catarina - UFSC Departamento de Ecologia e Zoologia - ECZ/CCB URL: http://sites.google.com/site/fernandomayer e-mail: fernandomayer [@] gmail.com 2012/7/16 Walmes Zeviani <walmeszeviani@gmail.com>:
Coloca as colunas que identificam os fatores junto com as respostas num data.frame() e usa tapply(), aggregate(), by(), etc para obter resumos por grupos. Será que entendi a pergunta?
À disposição. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (4)
-
Fernando Mayer
-
Ivan Bezerra Allaman
-
Lucas Barbosa
-
Walmes Zeviani