我想修改类似于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)。
我该怎么办?
答案 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)