[R-br] Família ply

Tropidurus Torquatus t.torquatus em gmail.com
Terça Fevereiro 25 12:41:30 BRT 2014


Caros R-users

Dada uma matrix qualquer:

seq = c("a","a","a","a","a","a","b","b","b","b","b","c","c","c","c","c","c","c","c","c","c","c","c","c”)
var1 = c(1,2,3,4,5,6,0,1,2,3,4,0,1,2,3,4,5,6,7,8,9,10,11,12)
matrix.x = data.frame(seq,var1)

funcao.x = function(x,d=1,T=3)
		{
			i = exp ( ( -x ) / ( d * T ) )
			net = sum (i)
			resultado = 100 * ( i / net )  
			return (resultado)
		}

Preciso aplicar a função dentro de cada subgrupo (seq) da matrix.x e criar ou um novo data.frame ou uma nova linha da matrix.x.
Tentei utilizar o comando ddply do pacote, com o comando abaixo, não sei se essa seria a melhor forma, mas mesmo assim não estou conseguindo:
library(“plyr”) 



R2 <- ddply(matrix.x, 'seq', transform, var=funcao.x(matrix.x$var1))
Error in data.frame(list(seq = c(2L, 2L, 2L, 2L, 2L), var1 = c(0, 1, 2,  : arguments imply differing number of rows: 5, 24


Na verdade essa formula deveria dar um valor para cada linha… não sei se escolhi a função correta para o que necessito, alguém poderia me mostrar um caminho a seguir?

No mais agradeço,

Thales Siqueira


-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140225/ccacd2a7/attachment.html>


Mais detalhes sobre a lista de discussão R-br