我希望有人可以帮我理解一个家庭作业问题。我不是在寻找解决方案,请注意,只是想知道是否有人能够更简单地为我解释这个问题,因为我是数据分析的新手并且注册了没有先决条件的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){ ...
任何人都可以提供任何指导或澄清吗?非常感谢你!
答案 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)
希望您可以扩展此基本示例以适合您的情况。