如何使用变量名作为参数

斯宾塞·布彻(Spencer Boucher)

对于家庭作业,我编写了执行向前逐步回归的函数。它包含3个参数:因变量,潜在的自变量列表以及在其中找到这些变量的数据框。目前,除数据框外,我所有的输入(包括自变量列表)都是字符串。

许多内置函数以及高级软件包中的函数都允许使用非字符串形式的变量输入。最佳做法是哪种?为什么?如果非字符串是最佳实践,那么考虑到其中一个参数是数据帧的变量列表,而不是单个变量,我该如何实现呢?

rip

就个人而言,如果字符串完成了您需要的功能,我认为它不会出现任何问题。如果需要,可以重写函数以将公式作为输入而不是字符串来指定独立变量和因变量。在这种情况下,您的函数调用将如下所示:

fitmodel(x ~ y + z,data)

而不是这样:

fitmodel("x",list("y","z"),data)

使用公式可让您指定要在回归中使用的变量的简单代数组合,例如x ~ y + log(z)如果走这条路线,则可以通过调用构建公式指定的数据框model.frame,然后使用此新数据框运行算法。例如:

> df<-data.frame(x=1:10,y=10:1,z=sqrt(1:10))
> model.frame(x ~ y + z,df)
    x  y        z
1   1 10 1.000000
2   2  9 1.414214
3   3  8 1.732051
4   4  7 2.000000
5   5  6 2.236068
6   6  5 2.449490
7   7  4 2.645751
8   8  3 2.828427
9   9  2 3.000000
10 10  1 3.162278
> model.frame(x ~ y + z + I(x^2) + log(z) + I(x*y),df)
    x  y        z I(x^2)    log(z) I(x * y)
1   1 10 1.000000      1 0.0000000       10
2   2  9 1.414214      4 0.3465736       18
3   3  8 1.732051      9 0.5493061       24
4   4  7 2.000000     16 0.6931472       28
5   5  6 2.236068     25 0.8047190       30
6   6  5 2.449490     36 0.8958797       30
7   7  4 2.645751     49 0.9729551       28
8   8  3 2.828427     64 1.0397208       24
9   9  2 3.000000     81 1.0986123       18
10 10  1 3.162278    100 1.1512925       10
> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用变量名作为数组参数

来自分类Dev

使用变量名作为列名

来自分类Dev

如何使用变量名作为字符串访问变量

来自分类Dev

如何在sql create语句中使用变量名作为表名

来自分类Dev

如何命名作为参数副本的变量?

来自分类Dev

PHP:使用类名作为变量名

来自分类Dev

Matlab:以变量名作为索引的结构

来自分类Dev

如何使用列名作为变量?

来自分类Dev

如何使用文件名作为变量

来自分类Dev

如何输入表$ _POST [name $ i]变量名作为变量

来自分类Dev

使用变量名作为 foreach 迭代变量并设置它的值

来自分类Dev

为什么允许使用类型别名作为变量名?

来自分类Dev

在Ansible中,是否可以使用变量名作为值?

来自分类Dev

MongoDB Upserts变量名作为键(Node.JS)

来自分类Dev

Java获取变量名作为字符串

来自分类Dev

创建以变量名作为键的 Javascript 对象

来自分类Dev

如何使用类名作为预定义变量?

来自分类Dev

使用Gson如何为REST调用的json添加变量名称作为顶级参数

来自分类Dev

如何使用数组值作为函数参数的变量名,以从JavaScript中的数组创建表?

来自分类Dev

我们可以通过Bash命令行执行将变量名作为参数值读取吗?

来自分类Dev

Python3-使用函数参数作为变量名称

来自分类Dev

使用动态变量名,作为函数/方法的参数

来自分类Dev

Maxima中的变量名作用域如何工作?

来自分类Dev

Matlab:使用文件名作为变量

来自分类Dev

如何使用Javascript关键字作为变量名?

来自分类Dev

如何使用关键字作为变量名?

来自分类Dev

如何使用数组的内容作为变量名?

来自分类Dev

你如何使用输入作为变量名?

来自分类Dev

PHP从以键名作为变量名的变量创建单例数组

Related 相关文章

热门标签

归档