2014-10-05 107 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) 

}