You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自学R语言遇阻:维也纳酒店数据集目录配置与抽样任务求助

维也纳酒店数据集抽样任务分步解决方案

问题说明

自学《Data Analysis for Business, Economics, and Policy》时,卡在第一章维也纳酒店数据集抽样任务:

  • 无法配置data_dir,不知如何获取set-data-directory.R
  • 自行编写的代码无法运行,无法完成任务:抽取25、50、200样本量的样本,计算价格均值并与全数据集对比,重复三次后分析样本量对均值的影响。

第一步:解决数据集加载问题

无需纠结set-data-directory.R,直接通过以下两种方式加载数据集:

方式1:本地文件加载(修正你的代码)

你之前的代码未将读取的文件赋值给变量df,导致后续无法调用数据,修正后:

# 加载核心工具包
library(tidyverse)

# 设置工作目录(替换为你的文件实际路径)
setwd("C:/Users/sha03/Desktop/R/intro/data/da_case_studies/")

# 读取本地CSV文件并赋值给df
df <- read.csv("hotels-vienna.csv")

# 验证数据加载成功
summary(df)
glimpse(df)

方式2:直接读取在线数据集

如果本地没有文件,直接读取教材提供的数据集:

library(tidyverse)

# 读取在线数据集
df <- read_csv("https://osf.io/y6jvb/download")

# 验证数据加载成功
summary(df)
glimpse(df)

第二步:完成抽样与均值计算任务

编写代码自动完成三次重复抽样、均值计算与对比:

# 计算全数据集的价格均值(排除缺失值)
full_dataset_mean <- mean(df$price, na.rm = TRUE)
cat("全数据集酒店价格均值:", round(full_dataset_mean, 2), "\n\n")

# 定义需要测试的样本量
sample_sizes <- c(25, 50, 200)
# 重复抽样次数
repeat_count <- 3

# 循环执行抽样与计算
for (size in sample_sizes) {
  cat("===== 样本量:", size, "=====\n")
  for (i in 1:repeat_count) {
    # 抽取无放回随机样本
    sampled_data <- sample_n(df, size = size, replace = FALSE)
    # 计算当前样本的价格均值
    sample_mean <- mean(sampled_data$price, na.rm = TRUE)
    # 计算与全数据集均值的差值
    mean_diff <- sample_mean - full_dataset_mean
    cat("第", i, "次抽样均值:", round(sample_mean, 2), ",与全均值差值:", round(mean_diff, 2), "\n")
  }
  cat("\n")
}

第三步:结果分析

运行代码后你会观察到:

  • 小样本(25):每次抽样的均值波动极大,与全数据集均值的差值绝对值通常较大
  • 中等样本(50):波动幅度明显缩小,均值更接近全数据集水平
  • 大样本(200):均值几乎稳定在全数据集均值附近,波动极小

结论:样本量越大,抽样均值的代表性越强,波动越小,越接近总体真实均值。


内容的提问来源于stack exchange,提问作者shei003

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:58:10