【发布时间】:2018-09-21 08:33:27
【问题描述】:
我有以下情况。给定表格
df <- data.frame(ID = c(1, 2, 2, 3, 3, 4),
type = c("MC", "MC", "MK", "MC", "MK", "MC"),
value1 = c(512, 261, 4523, 1004, 1221, 2556),
value2 = c(726, 4000, 280, 998, 113, 6789))
我正在尝试找到一种方法来实现以下逻辑:如果对于一个 ID,两种类型(MC 和 MK)都出现,则使用 MK 中的 value1 和 MC 中的 value2。否则(仅出现类型 MC),使用 MC。
因此,最终结果应该是:
data.frame(ID = c(1, 2, 3, 4),
type = c("MC", "MC", "MC", "MC"),
value1 = c(512, 4523, 1221, 2556),
value2 = c(726, 4000, 998, 6789))
假设类型 MK 在提取 value1 后被丢弃。
【问题讨论】:
-
第二个df:
Error in data.frame(ID = c(1, 2, 2, 3, 3, 4), type = c("MC", "MC", "MC", : arguments imply differing number of rows: 6, 4 -
@Andre 谢谢 - 现在是正确的。