R 函数,用于从回归中创建数据帧

R 函数,用于从回归中创建数据帧,r,function,R,Function,我想写一个函数,返回长度为N的数据帧,如下所示 y x1 x2 14.84 -1.62 -0.39 9.72 -0.15 -1.83 9.40 1.08 -0.76 ... 13.36 0.26 0.49 我是个初学者,所以如果有人能让我回到正轨,我会很高兴的。我有以下代码,但我不知道如何将我的x1、x2和y1安全地放入这样的数据帧中。 我的代码: 数据帧(alpha、beta1、beta2、sigma、n){ x1如注释中所述,您需要首先将函数定义分配给DataFrame。而

我想写一个函数,返回长度为N的数据帧,如下所示

y     x1     x2
14.84 -1.62 -0.39
9.72 -0.15 -1.83
9.40 1.08 -0.76
...
13.36 0.26 0.49
我是个初学者,所以如果有人能让我回到正轨,我会很高兴的。我有以下代码,但我不知道如何将我的
x1
x2
y1
安全地放入这样的数据帧中。 我的代码:

数据帧(alpha、beta1、beta2、sigma、n){

x1如注释中所述,您需要首先将函数定义分配给
DataFrame
。而且您的
As.data.frame()
语句为空

DataFrame <- function(alpha, beta1, beta2, sigma, n){
  x1 <- runif(n, min = -10, max = 10)
  x2 <- runif(n, min = -10, max = 10)
  y1 <- as.vector(alpha + x1*beta1 + x2*beta2)
  dataframe <- cbind.data.frame(y = y1, x1 = x1, x2 = x2)

  return(dataframe)
}

DataFrame差不多了
DataFrame你应该使用
data.frame
而不是
cbind
。我同意罗兰的建议。
cbind
不会创建一个data.frame。在这种情况下,这并不重要,因为所有内容都是数字,但仍然。。。
DataFrame <- function(alpha, beta1, beta2, sigma, n){
  x1 <- runif(n, min = -10, max = 10)
  x2 <- runif(n, min = -10, max = 10)
  y1 <- as.vector(alpha + x1*beta1 + x2*beta2)
  dataframe <- cbind.data.frame(y = y1, x1 = x1, x2 = x2)

  return(dataframe)
}