跨越值进行匹配我想与基于列2-4的值的一个列的最小值返回一个数据帧:最小值在多个列
df <- data.frame(one = rnorm(1000),
two = sample(letters, 1000, replace = T),
three = sample(letters, 1000, replace = T),
four = sample(letters, 1000, replace = T))
我可以这样做:
df_group <- df %>%
group_by(two) %>%
filter(one = min(one))
这使我获得了第二列中所有“m”的最低值,但如果第三列或第四列在第一列中有一个较低的“m”值?
输出应该是这样的:
one two
1 -0.311609752 r
2 0.053166742 n
3 1.546485810 a
4 -0.430308725 d
5 -0.145428664 c
6 0.419181639 u
7 0.008881661 i
8 1.223517580 t
9 0.797273157 b
10 0.790565358 v
11 -0.560031797 e
12 -1.546234090 q
13 -1.847945540 l
14 -1.489130228 z
15 -1.203255034 g
16 0.146969892 m
17 -0.552363433 f
18 -0.006234646 w
19 0.982932856 s
20 0.751936728 o
21 0.220751258 h
22 -1.557436228 y
23 -2.034885868 k
24 -0.463354387 j
25 -0.351448850 p
26 1.331365941 x
我不在乎哪列有一个给定的字母中的最低值,我只需要最低值和字母列。
我想围绕写这个简单的包装我的头。这可能是重复的,但我不知道如何标题,并找不到任何材料或以前的问题如何做到这一点。
'GROUP_BY(二,三,四)'?目前还不清楚你想要什么? – Psidom
@Psidom例如,对于其中“m”在第2-4列中出现的所有行,它将在第1列中显示这些行的最低值,在第2列中显示这些行中的字母m,然后对每个字母执行此操作。 – Tunn
你可以通过明确地显示给出的例子来阐明你的期望。 – Frank