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

R语言按日期筛选配对数据 计算体重与代谢率皮尔逊相关系数

解法1:tidyverse 实现(逻辑直观易读)

如果未安装tidyverse包,先运行install.packages("tidyverse")安装,再执行以下代码:

library(tidyverse)

end_result <- data %>%
  # 长表转宽表,按日期分组,测试项作为列名,测试值作为填充值
  pivot_wider(names_from = test, values_from = testvalue) %>%
  # 保留同时有体重和代谢率数据的行,自动丢弃孤立数据
  filter(!is.na(weight), !is.na(`metabolic rate`)) %>%
  # 重命名列名匹配需求格式
  rename(metabolic_rate = `metabolic rate`) %>%
  # 提取需要的两列
  select(weight, metabolic_rate)

# 运行皮尔逊相关性检验
cor.test(end_result$weight, end_result$metabolic_rate)

解法2:基础R实现(无需额外安装包)

# 筛选出同一天同时包含两项测试的有效日期
valid_days <- names(which(table(data$day) == 2))
valid_data <- data[data$day %in% as.Date(valid_days), ]

# 配对提取两项测试值
weight <- valid_data$testvalue[valid_data$test == "weight"]
metabolic_rate <- valid_data$testvalue[valid_data$test == "metabolic rate"]
end_result <- data.frame(weight, metabolic_rate)

# 运行皮尔逊相关性检验
cor.test(end_result$weight, end_result$metabolic_rate)

以上两种方法运行后得到的end_result完全符合你给出的目标数据集结构,会自动丢弃2007年的两条孤立测试数据。

内容的提问来源于stack exchange,提问作者Badboybørge

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:57:00