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

R新手导入Excel数据后计算统计量、筛选数据及绘图等作业问题求助

R作业操作指引

前置处理:解决matrix格式无法计算均值的问题

R中矩阵要求所有元素数据类型统一,若数据集包含字符型列,age/height/weight三列会被自动转为字符型导致计算报错,先执行以下代码转换格式:

# 将矩阵转为数据框,把your_matrix替换为你导入时自定义的矩阵变量名
df <- as.data.frame(your_matrix, stringsAsFactors = FALSE)
# 将三列目标列转为数值类型,列名需和你实际数据集的列名完全一致(R区分大小写)
df$age <- as.numeric(df$age)
df$height <- as.numeric(df$height)
df$weight <- as.numeric(df$weight)

1. 计算age、height、weight的均值与标准差

# na.rm=TRUE参数会自动跳过缺失值,无缺失值也不影响运行
# age指标
age_mean <- mean(df$age, na.rm = TRUE)
age_sd <- sd(df$age, na.rm = TRUE)
# height指标
height_mean <- mean(df$height, na.rm = TRUE)
height_sd <- sd(df$height, na.rm = TRUE)
# weight指标
weight_mean <- mean(df$weight, na.rm = TRUE)
weight_sd <- sd(df$weight, na.rm = TRUE)

# 打印输出结果
cat("age均值:", age_mean, " 标准差:", age_sd, "\n")
cat("height均值:", height_mean, " 标准差:", height_sd, "\n")
cat("weight均值:", weight_mean, " 标准差:", weight_sd, "\n")

# 也可执行以下代码一键查看全数据集汇总信息
summary(df)

2. 统计各年龄分组的吸烟者数量

# 假设吸烟列列名为smokers,年龄分组列名为age.level,和作业标注字段一致可直接运行
table(df$age.level, df$smokers)
# 输出结果行对应年龄分组,列对应是否吸烟,交叉位置数值为对应分组人数

3. 筛选吸烟且体重小于100kg的母亲并统计人数

# 若你数据集里吸烟者的取值为"Yes"/1/TRUE,把下面代码里的"是"替换为对应取值
target_df <- df[df$smokers == "是" & df$weight < 100, ]
# 输出符合条件的人数
nrow(target_df)

4. 绘制直方图

# 示例为绘制年龄分布直方图,替换df$age为其他列名即可绘制对应变量的直方图
hist(df$age, main = "年龄分布直方图", xlab = "年龄", col = "lightblue")

常见报错排查

  • 提示object 'xxx' not found:检查变量名/列名拼写、大小写是否和实际一致
  • 计算均值返回NA:执行str(df)查看列类型,age/height/weight需为num(数值)类型,重新执行前置处理的类型转换代码即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:57:05