需要知道如何使此代码正确运行

时间:2019-04-27 16:20:14

标签: r

我正在尝试学习考试,只是想确保我有正确的答案。请在下面查看我的代码。

``这也是学习问题。

1。创建一个包含30个值的向量,如下所示并显示向量:

a。每个值应该是25个数字的随机正态分布的方差。

b。对于第一个分布,正态分布的均值应为24,并以8的倍数递增。

c。每个正态分布的标准偏差应为平均值的12%

2。从上面的向量创建一个子集,其值在50到100的范围内。将其分配给另一个向量并显示该向量。

我尝试了以下步骤

v1 <- (1:30)

for(i in(1:30)
{
mean1 <- (i+1)*8
sd <- mean1*.12
nd <- rnorm(25, mean = mean1, sd=sd1)
v1[i] <- var(nd)
}

subset_v1 <- subset(v1, v1 >= 50 & v1 <= 100)

我提供了我已采取的步骤。请直接回答,不要重复回答:D

1 个答案:

答案 0 :(得分:-2)

在澄清您的评论后,我将提供答案,而不是指针。如果是家庭作业,我本来不会的。但是请注意,SO并非旨在回答针对其他网站而设计的“这是否正确”。因此,该问题应归类为主题外。

首先,您的意思是不正确的。它应该是8的倍数,从24(8 * 3)开始。 这可以通过许多方式解决。这里有两个例子:

  1. 假设我从1:mean_step <- 8 * (2 + i)开始。
  2. 在循环设置mean <- 16;之前,然后替换mean <- mean + 8的内部循环

之后,您的代码将正确运行。

我确实建议使用v1[v1 >= 50 & v1 <= 100]而不是子集,除了我认为它看起来更好之外,没有其他原因。