创建Y值的功能

时间:2015-08-13 14:25:23

标签: r

我希望有人可以帮我理解一个家庭作业问题。我不是在寻找解决方案,请注意,只是想知道是否有人能够更简单地为我解释这个问题,因为我是数据分析的新手并且注册了没有先决条件的R级,但感觉到了有点失言了。任何帮助将不胜感激!

所以,问题的第一部分是创建一个数组并用随机数字数据填充它,我在这里做了:

question <- array( 1:1000, dim= c(25,4,1000))
colnames(question)<- c('x1','x2','x3','x4')

现在,第二部分要求我“编写一个函数来创建y值”,这应该是四个变量的“线性组合”。给出的例子是

y = 2 ∗ x1 + 5 ∗ x2 − 3 ∗ x3 + 0.7 ∗ x4 + RandomError.

问题补充说,结果应该是一个尺寸为25×1000的矩阵。我不确定这究竟是什么问题或如何解决这个问题。到目前为止,我所知道的只是

apply(question,c(1,3),sum)
function (y){ ...

任何人都可以提供任何指导或澄清吗?非常感谢你!

1 个答案:

答案 0 :(得分:1)

首先,要制作(伪)随机数,您可以使用rnorm函数。也就是说,如果你想制作1000个平均值为0且sd为1的随机数,你可以做rnorm(1000)(但是,你的数组最终长度为10000,所以也许你真的想要做rnorm (10000))。

现在,你应该有一个尺寸为25 x 4 x 1000的数组question。你想创建一个矩阵y,它结合了question中尺寸为25 x的四个“切片” 1000创建一个大小为25 x 1000的矩阵y。您想要编写一个函数f,它将采用数组question的所有四个“切片”并将它们组合成一个切片。您还希望合并随机错误,这也可以通过rnorm函数完成。

举一个简单的例子,让我们制作一个尺寸为x的数组(10,2,10)

x = array(rnorm(200), dim = c(10,2,10))

现在让我们编写一个函数f,将x的两个“切片”加在一起。

f = function(my_array){
    my_array[,1,] + my_array[,2,]
    }

让我们在数组上执行函数

y = f(x)
dim(y)

希望您可以扩展此基本示例以适合您的情况。