用于查找大于特定值的总体均值的R函数

myzjeezk  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(147)

!° enter image description here
我现在正在学习R,碰到了一个难题。我该如何给出身高超过1500万的人口比例的代码。(图中问题5)

尝试使用for循环,但无法确定向量的输入内容。我希望从15 m及以上的值中截取

d<- read.csv('Eucalyptus1_.csv')

str(d)
hight <- (d$hgt)
sample(hight, size = 5)
sample1<-sample(hight, size = 5)
mean(sample1)
median(sample1)
sd(sample1)
quantile(sample1)

我在纠结的是-

for (sample1 > 15 in vector) { 
  
}
tuwxkamq

tuwxkamq1#

矢量化

理解R的矢量化本质是很重要的,你几乎不需要for循环。
什么是向量?例如,数据中的列hgt本质上就是向量。名为hgt的变量包含多个值。
让我们重新创建一个示例向量(包含多个值的名为x的变量)

x <- c(1, 2, 3, 4, 5)

R中的许多运算都是矢量化的,这意味着它们可以同时在向量的每个元素上执行,而不需要一次一个地遍历每个元素。
下面是一个例子:

x + 1
# 2 3 4 5 6

结果,我们得到另一个向量,其中对原始向量的每个元素执行操作+ 1
因此,您将不需要for循环。
只需将+ 1操作替换为适合您的问题的操作。
您正在寻找的是:

  • 检查hgt中的每个元素是否满足特定条件,例如> 15

"条件检查"操作在R中通过逻辑运算符完成,例如>==<<=>=!=
让我们找出x中为> 3的值。

x > 3
# FALSE FALSE FALSE TRUE TRUE

我们得到的是另一个向量,其中包含x的每个元素的条件检查结果。
现在还有一个概念缺失了,如何从向量中提取某些值。
这是通过索引操作符[ ]来完成的。例如,如果我想提取大于3的值,我会写x[x > 3]。在你的脑海中读到这句话:"给我x的值,其中x大于3"。

抽样分布

我想指出的是,你错过了一个重要的步骤,你的老师是希望你这样做。这是重复抽样过程+计算所需的统计量为每个样本1000次,以获得抽样分布check this out for a real life hands on example why this should even be important
(记得我告诉过你 * 几乎不要 * 使用for循环。也许使用一个循环来运行同一个函数1000次是合适的。)

相关问题