我从-LL输入计算了模型拟合(AIC)。我使用了矢量化函数,我想返回所有计算值的data.frame
或vector
以供进一步分析。该函数工作正常,但如果我定义一个输出向量,它不会返回此向量。
这是我的功能:
function.aic <- function(k,LL) {
aic <- (2*(LL)) + (2*k)
m <-mean(aic)
print(m)
print(aic)
aic_vector <- as.data.frame(aic) }
此外,将此向量保存在具有输入变量&#34; LL&#34;的名称的对象中会很棒。为每个计算都有特定的对象。但我不知道该怎么做,谷歌并没有真正帮助。
答案 0 :(得分:0)
好像你只是错过了一个return语句。另外,要提供命名输出,可以使用deparse
和substitute
来获取变量名称。然后,您可以创建一个列表,并为list元素指定变量的名称。例如:
function.aic <- function(k,LL)
{
aic <- (2*(LL)) + (2*k)
m <-mean(aic)
print(m)
print(aic)
aic_vector <- as.data.frame(aic)
mylist=list()
mylist[[deparse(substitute(LL))]] = aic_vector
return(mylist)
}
input_1 = 10
input_2 = 10
x = function.aic(input_1,input_2)
x现在是:
$input_2
aic
1 40
所以,x$input_2
包含您的AIC数据帧。希望这有帮助!