【问题标题】:R Script Function not returning dataR脚本函数不返回数据
【发布时间】:2014-10-05 14:38:52
【问题描述】:

我已经搜索了一段时间,但似乎无法找到答案。我只是为我从列表中提取的一些统计数据创建一个简单的函数,并对其进行操作并创建平均值等等。该函数没有返回任何内容。没有产生错误并且正在创建矩阵。

来源:

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)

    }

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 如何调用脚本?
  • 如果您也使用source 运行顶级脚本,那么如果您想查看结果,则需要添加打印语句。

标签: r list function


【解决方案1】:

如果您只想查看答案,则需要像这样添加“打印”:

 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)

}

如果你想真正保存其中一个对象到你的工作区(不是函数环境),然后像这样添加一个

 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)

}

【讨论】:

    猜你喜欢
    • 2020-07-14
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多