我正在尝试创建一个对数据进行分析的函数。
目前我有,
test = function(formula, data)
因此,当我想使用我的函数时,我输入的内容如下:
test(response~predictor1+predictor+..., data = iris)
我可以通过以下方式对我的预测变量矩阵进行建模:
mat = model.matrix(formula, data)
但这并没有给我一列回复数据。我无法找到一种方法来访问我的响应数据,所以我可以实际使用它来进行计算并生成模型。如何使用此公式实际访问我的响应数据并使用它?
谢谢,
编辑:使用ISLR包中的虹膜数据的示例
功能:
test = function(formula, data){
mat = model.matrix(formula, data)
...(calculations and stuff - I don't need assistance with this part)
}
所以要使用我的功能:
model = test(Species~Sepal.Width+Sepal.Length, data = iris)
在我的函数中,我可以生成一个使用的预测变量矩阵(我称之为mat)并进行计算,但我不知道如何生成响应的矩阵/向量数据(物种)。
答案 0 :(得分:0)
可能是model.response
和/或model.frame
。
model.response(model.frame(Species~Sepal.Width+Sepal.Length, data = iris))
## 1 2 3 4 5 6 7
## setosa setosa setosa setosa setosa setosa setosa
## 8 9 10 11 12 13 14
## setosa setosa setosa setosa setosa setosa setosa
## 15 16 17 18 19 20 21