[R-br] Múltiplas funções em uma única função

ASANTOS alexandresantosbr em yahoo.com.br
Sexta Janeiro 15 08:47:48 BRST 2016


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,


-- 
======================================================================
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:alexandresantosbr em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
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
======================================================================



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