【发布时间】:2018-07-01 15:49:55
【问题描述】:
我有 2 个不同结构的数据框。第一个包含对几个样本进行连续和重复分析的数据(多行,每次测量的时间和值),第二个报告样本 ID 以及测量的开始和结束时间。
##example
df.analysis <- data.frame(var= rnorm(321,mean=50),
time= seq(strptime("2018-1-1 0:0:0","%Y-%m-%d %H:%M:%S"), strptime("2018-1-1 8:0:0","%Y-%m-%d %H:%M:%S"), by= 90))
df.sample <- data.frame(sample= rep_len(1:8, 30),
start=seq(strptime("2018-1-1 0:0:0","%Y-%m-%d %H:%M:%S"), strptime("2018-1-1 7:45:0","%Y-%m-%d %H:%M:%S"),length.out=30),
end=seq(strptime("2018-1-1 0:15:0","%Y-%m-%d %H:%M:%S"), strptime("2018-1-1 8:0:0","%Y-%m-%d %H:%M:%S"),length.out=30))
我应该插入与每个测量值对应的样本 ID,但请记住,并非所有测量值都对应于一个样本。 我尝试使用以下代码,但它不起作用,因为现在它将第一个数据库中的行与第二个数据库中的相应行进行比较。虽然我需要将第一个数据库中的每一行与第二个数据库中的所有行进行比较
if df.analysis$time >df.sample[,"start"] & df.analysis$time < df.sample[,"end"] {
df.analysis$sample <- df.sample$sample
}
我想使用for 循环或lapply,但我无法使它们正常工作。
【问题讨论】: