【问题标题】:Multiple functions in only one多个功能合二为一
【发布时间】:2016-01-16 00:07:53
【问题描述】:

我想在一个函数中创建多个函数,在我的例子中,函数是 命名为MYsummary,里面有三个函数,但是不起作用。我是我的代码:

人工数据集

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)

第一个函数在 who 变量中识别人民:

确定的人

people<-function(x, db = tableFE) {
     x<-NULL
     results <- x
     x<-unique(db[,1])
     results <- x
     results
}
PER<-people(db = tableFE)

--

print(PER)

第二个函数给出时间段:

功能时间

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)

第三个是平均值:

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

     But, whem I try to merge the three function in one for create MYsummary to display 

全部三个结果,不要mach结果,见下图:

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

c(

## First function
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)## Doesn't work

有人可以帮助我吗?

谢谢,

亚历山大

【问题讨论】:

    标签: r function operations


    【解决方案1】:

    您在向量内部定义函数,我认为这行不通。

    但是您可以通过以下方式解决此问题:

    MySummary<-function(x){
    people<-function(...){}
    TIME<-function(...){}
    MD<-function(...){}
    
    result<-list(people(x),TIME(x),MD(x))
    return(result)
    
    }
    

    这是您要寻找的输出吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 2021-06-03
      • 1970-01-01
      • 2013-07-07
      相关资源
      最近更新 更多