dplyr
解决方案是首选。
我们说我有以下数据:
library(tibble)
frame_data(
~a, ~b, ~c, ~d, ~e,
1, 2, 3, 4, FALSE,
5, 6, 7,8, TRUE,
9, 10, 11, 12, TRUE,
13, 14, 15, 16, FALSE,
17, 18, 19, 20, FALSE,
21, 22, 23, 24, FALSE,
25, 26, 27, 28, TRUE,
29, 30, 31, 32, FALSE,
33, 34, 35, 36, FALSE,
37, 38, 39, 40, FALSE
)
我希望提取e
中的值为TRUE的行,然后提取k
为TRUE的行周围的e
行的窗口无论e
中的值如何,都在两个方向上。例如,如果k=1
,我想:
frame_data(
1, 2, 3, 4, FALSE,
5, 6, 7,8, TRUE,
9, 10, 11, 12, TRUE,
13, 14, 15, 16, FALSE,
21, 22, 23, 24, FALSE,
25, 26, 27, 28, TRUE,
29, 30, 31, 32, FALSE
)
如果k=2
,我想要:
frame_data(
~a, ~b, ~c, ~d, ~e,
1, 2, 3, 4, FALSE,
5, 6, 7,8, TRUE,
9, 10, 11, 12, TRUE,
13, 14, 15, 16, FALSE,
17, 18, 19, 20, FALSE,
21, 22, 23, 24, FALSE,
25, 26, 27, 28, TRUE,
29, 30, 31, 32, FALSE,
33, 34, 35, 36, FALSE
)
答案 0 :(得分:1)
这是一个潜在的解决方案:
<target name="messages" depends="clean" description="Create java binding java files">
<echo message="Compiling the schema..." />
<xjc schema="${common.loc}/WebContent/master.xsd" package="com.l3com.apps.messages" destdir="${common.loc}/src" extension="true" />
</target>
不像使用lat / lead功能那样直接,但它可以轻松调整窗口大小。它使用基数R并将限制行索引保持在数据帧的范围内。