我有两个 data.frames,其中一个包含一式三份进行的许多实验的特定顺序(DF1 设计表);另一个包含这些实验的结果(一式三份,DF2 结果表)。第一个数据帧具有随机的实验顺序,结果表具有不同的顺序。
DF1 的前六列包含实验的因素,例如温度、试剂当量等……结果表 DF2 也具有相同的六列以及包含实验结果的其他列,例如产量, 各种试剂的转换等...
这些表的不同之处在于行数。结果表的行数比设计表少三行。
如何合并这两个表,以便将结果附加到设计中,以便设计表中的实验参数与实验表中的适当结果相匹配。
DF1
T1 A1 B1
T2 A1 B1
T1 A2 B1
T2 A2 B1
T1 A1 B2
T2 A1 B2
T1 A2 B2
T2 A2 B2
但一式三份。
DF2
T1 A2 B2 1
T1 A2 B1 3
T2 A2 B1 3
T1 A1 B1 1
T2 A1 B2 2
T2 A2 B2 2
T2 A1 B1 2
再次一式三份,注意少了一行。请注意,结果列比显示的多。
至于所有这些工作的重点:我正在研究是否可以将包 RcmdrPlugin.DoE 应用于一些真实数据。
至于我尝试过的……好吧,我考虑过将 sapply、cbind 和 ifelse 与逻辑函数一起使用
sapply(
DF3 <- ifelse( DF1[,1] == DF2[,1] | DF1[,2] == DF2[,2] | DF2[,3] == DF2[,3],
cbind(DF1, DF2[,3]), NA)
)
我在这段代码中遇到了 NA 的问题。但在我到达 NA 之前,我发现我有一个论点 'FUN' is missing error。
我认为我要么离题要么非常接近答案,但两者中的哪一个。谁能指出我正确的方向,好吗?
编辑...我将标题更改为 A、B、C 和 D 的七行数据的样本,这些都是两个 data.frames 共有的。
run.no run.no.std.rp Block.ccd A B C D
C0.17 1 C0.17 0 400 147.5 5 2.675
C0.7 2 C0.7 0 450 120.0 2 4.000
C0.6 3 C0.6 0 350 175.0 2 4.000
C0.3 4 C0.3 0 450 120.0 8 4.000
C0.4 5 C0.4 0 350 120.0 8 4.000
C0.16 6 C0.16 0 350 120.0 2 1.350
C0.15 7 C0.15 0 450 120.0 2 1.350
另一个 data.frame 具有标题 A、B、C 和 D 以及包含产量、转换和其他结果的列。我需要第一个 data.frame 与最后标记的产量等完全相同。