R脚本功能不返回数据

时间:2014-10-05 14:38:52

标签: r list function

我一直在寻找一段时间,但似乎无法得出答案。我只是为一些统计数据创建一个简单的函数,我从列表中提取并操纵它并创建平均值和诸如此类的东西。该函数虽然没有返回任何内容。没有产生错误并且正在创建矩阵。

来源:

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)

    }

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

如果你只想答案,那么你需要像这样添加“print”:

 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)

}

如果你想实际其中一个对象保存到你的工作区(而不是功能环境),那么在你想要保存的对象上添加一个&lt;&lt; - 这样做(我做了)我想要添加到工作区“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)

}