如何在R函数中找到多个解决方案?

时间:2019-03-16 07:48:53

标签: r

我刚刚开始研究R,但找不到这个简单问题的任何解决方案。我试图创建自己的功能。

sta<-function(a) 

{mean1<-mean(data$feb05, na.rm = TRUE) var(data$feb05, na.rm = TRUE)}

在函数中,我的目标是找到数据的均值和方差。我遇到的问题是:

1)我想给mean1命名数据的意思。但是,每当我写mean1时,我都找不到任何解决方案。

2)如果我在不带名称和var函数的函数中仅写入mean(data$feb05, na.rm = TRUE),则可以获得解决方案。但是,如果我一起写mean和var,我将找不到任何解决方案。

因此,作为总结,我要求给解决方案起一个名字,并在一个函数中找到多个解决方案。

1 个答案:

答案 0 :(得分:1)

将其作为向量返回

sta <- function(a) {
   c(mean1 = mean(a, na.rm = TRUE),  var1 = var(a, na.rm = TRUE))
}

现在您可以做

sta(data$feb05)

例如

new_var <- sta(mtcars$mpg)
new_var
#mean1  var1 
#   20    36 

因此,如果您想现在访问单个元素,则可以

new_var['mean1']
#mean1 
#   20 

new_var['var1']
#var1 
#  36 

或者您也可以将它们作为list

返回
sta <- function(a) {
  list(mean1 = mean(a, na.rm = TRUE),  var1 = var(a, na.rm = TRUE))
}

并使用$运算符访问new_var$mean1new_var$var1之类的元素。