【发布时间】:2019-03-12 23:23:19
【问题描述】:
我有一个数据框,我想根据某列中的值是否在该行中所有列的前 5 个值中来对其进行子集化。 这是我的数据框的简化版本:
> my.df <- data.frame(a = rnorm(10,5), b= rnorm(10,5), c=rnorm(10,5), d=rnorm(10,5), e=rnorm(10,5))
> my.df
a b c d e
1 6.401462 5.318849 5.373496 5.101140 3.710973
2 6.715845 4.786936 3.521965 4.264029 4.525138
3 6.076211 5.356114 5.605134 5.443002 5.296778
4 7.009623 5.275595 4.801874 4.355892 6.752737
5 5.002059 6.163398 6.063694 2.409702 6.172111
6 6.298305 3.291884 5.737053 4.701320 4.752406
7 4.856246 4.674743 5.550828 7.501786 5.466611
8 5.037990 4.129333 4.797334 5.143915 5.558161
9 4.903592 3.135622 5.879798 5.639893 4.368915
10 5.500374 4.400130 3.980433 6.203259 4.498614
现在我只想要 a 列或 b 列的值在其行中的前 2 个值中的行。所以在这个例子中删除第 7-9 行,给出:
a b c d e
1 6.401462 5.318849 5.373496 5.101140 3.710973
2 6.715845 4.786936 3.521965 4.264029 4.525138
3 6.076211 5.356114 5.605134 5.443002 5.296778
4 7.009623 5.275595 4.801874 4.355892 6.752737
5 5.002059 6.163398 6.063694 2.409702 6.172111
6 6.298305 3.291884 5.737053 4.701320 4.752406
10 5.500374 4.400130 3.980433 6.203259 4.498614
有什么想法吗?
【问题讨论】:
-
是的,最初我在没有
set.seed的情况下测试数据。必须将其更改为decreasing = TRUE