【发布时间】:2015-08-25 17:37:03
【问题描述】:
我有一个数据框 df2,其中包含按 ID factor 分组的观察结果,我想对其进行子集化。我使用了另一个函数来确定我想要选择的每个因子组中的哪些行。这在下面的df 中显示:
df <- data.frame(ID = c("A","B","C"),
pos = c(1,3,2))
df2 <- data.frame(ID = c(rep("A",5), rep("B",5), rep("C",5)),
obs = c(1:15))
在df 中,pos 对应于我要在ID 中提到的因子级别内选择的行的索引,而不是在整个数据框df2 中。我正在寻找一种方法根据正确的索引为每个ID选择行(因此它们的行号在df2的每个因素的水平内)。
所以,在这个例子中,我想用ID == 'A'选择df2中的第一个值,用ID == 'B'选择df2中的第三个值,用ID == 'C'选择df2中的第二个值。
这会给我:
df3 <- data.frame(ID = c("A", "B", "C"),
obs = c(1, 8, 12))
【问题讨论】: