Pessoal, o problema foi resolvido, segue solução:

##Banco de dados artificial
who<-rep(c("JOSE","CARLOS"),40)
dates<-rep(as.Date(c("2007-06-22", "2004-02-13")),40)
var1<-rnorm(80)
tableFE<-data.frame(who, dates,var1)
head(tableFE)


MySummary<-function(x, db=tableFE){
people<-function(x){
     x<-NULL
     results <- x
     x<-unique(db[,1])
     results <- x
     results
}
TIME<-function(x){
     x<-NULL
     minT<-min(db[,2])
     maxT<-max(db[,2])
     results <- x
     x<-cbind(minT,maxT)
     colnames(x)<-c("start","end")
     results <- x
     results
}
MD<-function(x){
   MD<-mean(db[,3])
}

result<-list(people(x),TIME(x),MD(x))
return(result)
}

MySummary(db=tableFE)##

--
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
e-mails:[email protected]
        [email protected]
Lattes: http://lattes.cnpq.br/1360403201088680
OrcID: orcid.org/0000-0001-8232-6722
Researchgate: https://www.researchgate.net/profile/Alexandre_Santos10
LinkedIn: https://br.linkedin.com/in/alexandre-dos-santos-87961635
======================================================================

Em 15/01/2016 07:47, ASANTOS escreveu:
Prezados Listeiros,


Gostaria de criar uma função com múltiplas funções em seu interior, no meu caso gostaria de criar uma função denominada MYsummary, com três funções no interior dela, sendo que à partir de banco de dados artificial:

##Banco de dados artificial
who<-rep(c("JOSE","CARLOS"),40)
dates<-rep(as.Date(c("2007-06-22", "2004-02-13")),40)
var1<-rnorm(80)
tableFE<-data.frame(who, dates,var1)
head(tableFE)

Tenho uma primeira função que identifica o objeto who, ou seja, quem são as pessoas:

## Função Identificadora da pessoa
people<-function(x, db = tableFE) {
     x<-NULL
     results <- x
     x<-unique(db[,1])
     results <- x
     results
}
PER<-people(db = tableFE)
#--#
print(PER)

      A segunda função me fornece o período da coleta de dados:

## Função do período
timeFE<-function(x, db = tableFE) {
     x<-NULL
     minT<-min(db[,2])
     maxT<-max(db[,2])
     results <- x
     x<-cbind(minT,maxT)
     colnames(x)<-c("start","end")
     results <- x
     results
}
TIM<-timeFE(db = tableFE)
#--#
print(TIM)

          A terceira função calcula a média:

MD<-mean(tableFE[,3])
print(MD)

Porém quando tento juntar as três funções na minha função MYsummary(), para que as três funções sejam executadas concomitantemente, exibindo os três prints ao mesmo tempo não funciona, sendo:

MYsummary<-function(x, db = tableFE) {

c(

## Função Identificadora da pessoa
people<-function(x, db = tableFE) {
     x<-NULL
     results <- x
     x<-unique(db[,1])
     results <- x
     results
     print(results)
}
,
## Função do período
timeFE<-function(x, db = tableFE) {
     x<-NULL
     minT<-min(db[,2])
     maxT<-max(db[,2])
     results <- x
     x<-cbind(minT,maxT)
     colnames(x)<-c("start","end")
     results <- x
     results
     print(results)
}
,
MD=mean(tableFE[,3])
)
}
MYsummary(tableFE)## Não funciona

        Alguém poderia me dar uma luz?

Muito obrigado,



_______________________________________________
R-br mailing list
[email protected]
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 fornea cdigo mnimo 
reproduzvel.

Responder a