R将函数的输出分配给变量

时间:2017-03-29 09:37:02

标签: r sas

我想修改类似于SAS的函数,其中宏变量的名称可以很容易地与其他字符一起添加。

但是,我现在无法在R中执行此操作,例如,在以下语法中,我想创建一个函数,它只获取某个变量的均值并为变量指定一个新名称。

sex=c(1,2,3)

rf<-function(x){
    assign(paste("x", "mean",sep=""),mean(x))
    }
rf(sex)

我想得到一个新变量&#34; sexmean&#34;其值为平均值(1,2,3)。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

使用函数式编程(和R)执行此操作的方法是:

sexmean <- mean(sex)

如果你真的想要一个具有更改全局变量的副作用的函数(这在R 和一般的函数式编程中是非常糟糕的做法),这将起作用(但是高度气馁):

sex <- c(1,2,3)

rf <-function(x){
  arg_name <- deparse(substitute(x))
  assign(paste(arg_name, "mean",sep=""), mean(x), envir = .GlobalEnv)
}

rf(sex)