2014-10-05 73 views
0

我一直在寻找一段时间,似乎无法拿出答案。我只是为一些统计数据创建一个简单的函数,我从列表中提取并操作它,并创建平均值和其他值。该函数并没有返回任何东西。没有错误正在产生,矩阵正在创建。R脚本函数不返回数据

来源:

library(matrixStats) 
source("Control_Function.R") 

mydata <- read.table("DataSmall.txt") 
length <- nrow(mydata) 
a<-length/11 
#begining control limits 

control(mydata) 

Control_Function.R

control <- function(arg1){ 
     mat1 <-matrix(unlist(arg1),11,25) 
     matAverage <-colMeans(mat1) 
     matSdAv <- colSds(mat1) 
     sbar <-mean(matSdAv) 
     xbarbar<-mean(matAverage) 
     newlist<-list(matAverage, matSdAv, sbar, xbarbar) 
     return(newlist) 

    } 

任何帮助将不胜感激。

感谢

+0

你是如何调用脚本的? – Dason 2014-10-05 14:45:38

+4

如果您使用'source'运行顶层脚本,那么如果您想查看结果,则需要添加一个打印语句。 – Dason 2014-10-05 14:56:51

回答

0

如果你只是想看到的答案,那么你需要添加“打印”是这样的:

control <- function(arg1){ 
    mat1 <-matrix(unlist(arg1),11,25) 
    print(matAverage <-colMeans(mat1)) 
    print(matSdAv <- colSds(mat1)) 
    print(sbar <-mean(matSdAv)) 
    print(xbarbar<-mean(matAverage)) 
    newlist<-list(matAverage, matSdAv, sbar, xbarbar) 
    return(newlist) 

} 

如果你想真正拯救那些对象一个到你的工作空间(不是功能环境),然后添加一个< < - 像这样到你想要保存的对象(我把我想添加到工作空间的对象“newlist”):

control <- function(arg1){ 
    mat1 <-matrix(unlist(arg1),11,25) 
    print(matAverage <-colMeans(mat1)) 
    print(matSdAv <- colSds(mat1)) 
    print(matSdAv) 
    print(sbar <-mean(matSdAv)) 
    print(xbarbar<-mean(matAverage)) 
    newlist <<- list(matAverage, matSdAv, sbar, xbarbar) 

}