Você pode usar o get().

m1 <- matrix(0, 3, 3)
m2 <- matrix(0, 3, 2)

# n <- paste0("m", 1:2)
n <- sprintf("m%d", 1:2)

get(n[1])
get(n[2])

lapply(n,
       FUN = function(obj) {
           dim(get(obj))
       })

À disposição.
Walmes.

========================================================================
Walmes Marques Zeviani
LEG - Laboratório de Estatística e Geoinformação [25.450418S 49.231759W]
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573                       linux user number: 531218
pages & profiles:                                
 http://www.leg.ufpr.br/~walmes | http://lattes.cnpq.br/4410617539281650
 http://git.leg.ufpr.br/walmes  | https://github.com/walmes
 https://www.mendeley.com/profiles/walmes-zeviani1/
========================================================================

2016-11-24 14:45 GMT-02:00 Antonio Silva via R-br <r-br@listas.c3sl.ufpr.br>:
Obrigado Cesar,

Realmente ficou complicado. Veja o exemplo abaixo:

dados1 <- c(1,2,3,4,5,6)
dados2 <- c(3,4,5,6,7,8)
dados3 <- c(5,6,7,8,9,10)
dados4 <- c(7,8,9,10,11,12)

t.test(dados1,dados3)
t.test(dados1,dados4)
t.test(dados2,dados3)
t.test(dados2,dados4)

# OK

a <- 1
b <- 2

as.name(paste("dados",a,sep=""))
as.name(paste("dados",b,sep=""))

# parece OK

for (a in 1:2) {
for (b in 3:4) {
t.test(
as.name(paste("dados",a,sep="")),
as.name(paste("dados",b,sep="")))
}}

# erro

Há alguma forma de "montar" o nome dados1 e dados2 com paste (p.ex.) de forma que este nome possa ser usado em uma função e reconhecido como vetor (ou matriz)?

Abraços

Antônio Olinto

Em 24 de novembro de 2016 12:00, Cesar Rabak <cesar.rabak@gmail.com> escreveu:
Antônio,

Acho que não entendo sua dúvida e sua descrição do que você deseja versus o que você tentou me parece confusa.

para fazer a cadeia "matriz" ser concatenada com, digamos, 1 até 12, (o seu "a in 1 to ..." onde o "to" seria em 12), basta apenas fazer o seguinte:

paste0("matriz",1:12)

HTH
--
Cesar Rabak

2016-11-24 7:38 GMT-02:00 Antonio Silva via R-br <r-br@listas.c3sl.ufpr.br>:
Olá a todos

Quero fazer cálculos de íncides que utilizam duas matrizes. No total tenho mais que 100.

matriz1 <- matrix(....
matriz2 <- matrix(....
matriz3 <- matrix(....

ls()
matriz1 matriz2 matriz3

Tentei fazer um looping

for (a in 1 to ...) {
for (b in 1 to ...) {
resp <- função(paste("matriz",a,sep=""),paste("matriz",b,sep=""))
assing(paste("resp_",a,"_",b,sep=""),resp)
}
}

No entanto as funções não reconhecem o resultado de paste("matriz",a,sep="") ou as.name(paste("matriz",a,sep="")) como o objeto matriz1, matriz2, etc.

Alguém sabe uma forma de "montar" o nome de um objeto de forma que este seja reconhecido como tal?

Obrigado

Antônio Olinto

_______________________________________________
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.




--
Antônio Olinto Ávila da Silva
Biólogo / Oceanógrafo
Instituto de Pesca (Fisheries Institute)
São Paulo, Brasil

_______________________________________________
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.