Buenas tardes César,

Es sólo un warning. Qué pasa cuando escribes library(expm) despues de
install.packages(...)? Cuál es tu sessionInfo()?

Si no puedes utilizar matpow, entonces actualiza tu versión de R (veo que
tienes 2.9.2) y ejecuta de nuevo

install.packages("expm",
repos="http://R-Forge.R-project.org<http://r-forge.r-project.org/>
")
require(expm)

Seguramente una vez hagas lo anterior, todo funcionará. Si aún después de
hacer lo anterior no funciona, entonces ingresa a
http://r-forge.r-project.org/R/?group_id=107, descarga manualmente el
archivo .zip y luego utiliza Packages -> Install Packages from zip files...
 en la consola del R.

Esta es mi sessionInfo():

R version 2.10.0 Patched (2009-10-26 r50212)
i386-pc-mingw32

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United
States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C

[5] LC_TIME=English_United States.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] tools_2.10.0


Espero sea de utilidad,

                  Jorge Ivan Velez


2009/11/13 Cesar Escalante <>

> Jorge, Kjetil, muchas gracias.
> No sabía de la existencia de otras bibliotecas.
>
> Al ejecutar el comando
> install.packages("expm", repos="http://R-Forge.R-project.org<http://r-forge.r-project.org/>
> ")
>
> sale el siguiente mensaje:
>
> Warning: unable to access index for repository
> http://R-Forge.R-project.org/bin/windows/contrib/2.9<http://r-forge.r-project.org/bin/windows/contrib/2.9>
> Warning message:
> In getDependencies(pkgs, dependencies, available, lib) :
>   package ‘expm’ is not available
>
> Jorge no estoy desarrollando una aplicación concreta. Estaba estudiando y
> tuve esa necesidad. Ya había escrito una función, pero es mejor saber si
> existe una escrita en una biblioteca especializada.
>
> Miré Matrix y no encuentro la función.
>
> Gracias de nuevo.
>
> Saludos.
>
> César Escalante C.
>
>
>
> El 13 de noviembre de 2009 10:16, Jorge Ivan Velez <> escribió:
>
>  Buenos dias Kjetil y César,
>>
>> Sólo para los archivos:  si la eficiencia es importante en la aplicación,
>> el utilizar la función matpow en la libreria expm de R-Forge es muchísimo
>> mejor. Este es un ejemplo de una matriz A de orden 2x2 cuando k=2 y se
>> realizan 100000 repeticiones:
>>
>> # install.packages("expm", repos="http://R-Forge.R-project.org<http://r-forge.r-project.org/>
>> ")
>> require(expm)
>>
>> # matpow
>> system.time(replicate(100000, A %^% 2))
>> #   user  system elapsed
>> #   0.71    0.02    0.72
>>
>> # f2
>> system.time(replicate(100000, f2(A,2)))
>> #   user  system elapsed
>> #   8.92    0.00    8.96
>>
>> Saludos a ambos,
>>
>>                Jorge Ivan Velez
>>
>> 2009/11/13 Kjetil Halvorsen <>
>>
>>> El paquete expm, no en CRAN, pero en R-forge, tiene una funci'on
>>> matpow
>>>
>>> Kjetil
>>>
>>> 2009/11/13 Jorge Ivan Velez <>:
>>>
>>>  > Buenas noches César,
>>> >
>>> > Si te refieres a tomar cada elemento de una matriz, digamos A, y
>>> elevarlos a
>>> > una potencia k, entonces escribir
>>> >
>>> > A^k
>>> >
>>> > en la consola del R es más que suficiente.
>>> >
>>> > Sea k = 2. Si en vez de lo anterior lo que necesitas es B = A x A
>>> (porque
>>> > k=2), entonces podrías construir una función que lo realice. "A mano"
>>> > escribirías lo siguiente en la consola:
>>> >
>>> > B <- A %*% A
>>> > B
>>> >
>>> > El problema es que cuando k es por ejemplo 10, lo anterior es bastante
>>> > ineficiente.
>>> >
>>> > A continuación te doy varios ejemplos de ambas situaciones. El uso de
>>> f1 o
>>> > f2 depende de tu aplicación. Si ninguna de las dos opciones es lo que
>>> > buscas, quizás un poco más de detalle podría ayudarnos a ayudarte. De
>>> qué
>>> > dimensión es la matriz A de tu aplicación y qué valores puede tomar k?
>>> >
>>> > Una librería que podría ser de utilidad podría ser "Matrix", aunque no
>>> la he
>>> > revisado detalladamente.
>>> >
>>> > # Creando una matriz A
>>> > set.seed(123)
>>> > A <- matrix(rnorm(4), ncol = 2)
>>> > A
>>> >
>>> > # Elevando cada elemento de A a la potencia k
>>> > f1 <- function(x,k) x^k
>>> > f1(A, 2)     # A^2
>>> > f1(A, 5)     # A^5
>>> >
>>> > # Producto matricial de A por si misma k veces
>>> > f2 <- function(x, k){
>>> >        r <- diag(dim(x)[2])
>>> >        for(i in 1:k) r <- r %*% x
>>> >        r
>>> >        }
>>> > f2(A,2) # A x A
>>> > f2(A,3) # A x A x A
>>> > f2(A,5) # A x A x A x A x A
>>> >
>>> > Saludos,
>>> >
>>> >                     Jorge Ivan Velez
>>> >
>>> >
>>> > 2009/11/12 Cesar Escalante <>
>>> >
>>> >> Cordial saludo.
>>> >>
>>> >> Les agradecería que me ayudaran con una función eficiente para
>>> calcular
>>> >> potencias de una matriz. ¿Cuál biblioteca la tiene?
>>> >>
>>> >> Gracias de antemano
>>> >>
>>> >>
>>> >> César Escalante C.
>>> >>
>>> >>        [[alternative HTML version deleted]]
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> R-help-es mailing list
>>> >> R-help-es@r-project.org
>>> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> >>
>>> >>
>>> >
>>> >        [[alternative HTML version deleted]]
>>> >
>>> >
>>> > _______________________________________________
>>> > R-help-es mailing list
>>> > R-help-es@r-project.org
>>> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> "... an entire human genome would fit on a music CD."
>>>
>>> --- www.thinkgene.com
>>>
>>
>>
>

	[[alternative HTML version deleted]]

