在RStudio中如何计算数据框指定行(后半数行)的平均值
R数据框指定行平均值计算方法
一、计算后一半行的平均值
你生成的测试数据框共100行,后一半对应行号为51~100,可通过如下基础R代码实现数值列的平均值计算:
# 自动适配数据框行数,避免硬编码 total_rows <- nrow(DF) # 奇数行场景可改用 ceiling(total_rows/2) 获取后半部分起始行 half_start <- total_rows / 2 + 1 # 仅对数值列计算按列平均值 back_half_col_mean <- colMeans(DF[half_start:total_rows, sapply(DF, is.numeric)]) # 查看结果 back_half_col_mean
如果需要计算后一半行所有数值的整体平均值,可使用如下代码:
back_half_total_mean <- mean(as.matrix(DF[half_start:total_rows, sapply(DF, is.numeric)]))
二、计算任意指定行的平均值
只需将行范围替换为你需要的行号向量即可,示例如下:
# 示例:计算第15、30、72行的数值列平均值 target_rows <- c(15,30,72) target_rows_mean <- colMeans(DF[target_rows, sapply(DF, is.numeric)])
补充:生成带性别字段的测试数据
你之前提到的50条男性、50条女性的测试数据可以通过如下代码实现:
DF <- data.frame( Gender = rep(c("男性", "女性"), each = 50), Height = rnorm(100, 170, 5), Weight = rnorm(100, 55, 5) ) # 后续BMI、分组逻辑和原有代码一致
内容的提问来源于stack exchange,提问作者Not a Wrench
相关产品推荐
相关产品推荐

