r - 根据日期(以及更多)拆分、过滤和选择数据
问题描述
首先,一些示例数据
day <- c("2004-02-13", "2004-02-13", "2004-12-10", "2004-12-10", "2005-05-01", "2005-05-01", "2005-11-29", "2005-11-29", "2007-06-22", "2007-06-24")
test <- c('weight', 'metabolic rate', 'weight', 'metabolic rate', 'weight', 'metabolic rate', 'weight', 'metabolic rate', 'weight', 'metabolic rate')
testvalue <- c(90, 2300, 80, 2200, 100, 2500, 70, 2000, 65, 1800)
data <- data.frame(day, test, testvalue)
data$day <- as.Date(data$day)
我有一个如下构建的数据集:真正的目标是对体重和代谢体重之间的关系进行皮尔逊相关,要求必须在同一天进行测试。
data
我希望在同一天进行的测试配对。并且必须丢弃所有独立的数据(如体重“65”和代谢率“1800”)。以下是我想要结束的(在这个例子中)。我相信可能有一个功能可以丢弃不重复的日期,但是我仍然不知道如何分隔列。
weight <- c(90, 80, 100, 70)
metabolic_rate <-c(2300,2200,2500,2000)
end_result <- data.frame(weight, metabolic_rate)
end_result
cor.test(end_result$weight, end_result$metabolic_rate)
解决方案
你可以试试
require(magrittr)
require(tidyr)
dt <- spread(data, key = 'test', value = 'testvalue') %>% na.omit
with(dt,
cor.test(`metabolic rate`, `weight`)
)
在这里,您通过test
vs 强制转换数据day
,并通过na.omit
删除那些至少具有一个NA
值的行。
推荐阅读
- python - Python:request.get 多个选择器语法
- python - Scikit 学习;无法正确创建多项式回归图
- c# - 从数据表中拆分层次结构
- asp.net - 使用实体框架比较日期的月份部分
- python - 在使用 python 迭代列表时修改列表
- javascript - 单击选项卡时如何防止页面提交?
- tfs - Visual Studio Team Services 错误:“指定 cmdlet 的目标不能是基于 Windows 客户端的操作系统。”
- c# - 来自 vb.net 中字符串的 CRC-16/ARC
- python - 如何在Y轴上聚合数据并在python中绘制折线图
- reactjs - axios 调用没有被嘲笑