小编Wil*_*iam的帖子

使用 Dplyr 查找组的最大值并在同一表的另一列中改变结果

我正在处理具有数千行和多列的巨大数据集。我想使用 Dplyr 查找列中组的最大值,并在同一表的另一列中改变结果。这是我的数据的示例:

df <- tibble(a = rep(letters[1:3], each = 3), b = seq(0.1,0.9, length.out = 9))
Run Code Online (Sandbox Code Playgroud)

我想找到每组列中的最大值a。我知道我可以使用以下代码在表中的每个组中显示最大值:

df %>% group_by(a) %>% summarise_all(list(~ max(.)))
Run Code Online (Sandbox Code Playgroud)

其产生:

# A tibble: 3 x 2
  a         b
  <chr> <dbl>
1 a       0.2
2 b       0.5
3 c       0.8
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的。我想要一个保留原始数据的表,但有一个附加列,c以便列中的每个值在b列中都有相应的值c,该值显示列中每个数据点所属的每个组中的最大值b。我想要的期望结果如下:

# A tibble: 9 x 3
  a         b     c
  <chr> <dbl> <dbl>
1 a       0.1   0.3
2 a       0.2   0.3
3 a       0.3   0.3
4 …
Run Code Online (Sandbox Code Playgroud)

r max dplyr tidyverse

3
推荐指数
1
解决办法
6768
查看次数

仅当 R 数据帧中数字以 6 开头时才添加前导零

我有一个数据框,其中包含需要格式化的数字。如何仅向以 6 开头的数字添加前导零?使用str_pad()或看到的所有示例sprintf()并不完全像我的任务,我发现适应它们具有挑战性。我的虚拟数据框如下:

dummy_numbers
621103 
06102658  
19562106    
61102
0635467
Run Code Online (Sandbox Code Playgroud)

期望的结果是:

desired_numbers
0621103 
06102658  
19562106    
061102
0635467
Run Code Online (Sandbox Code Playgroud)

谢谢。

formatting r digits

-2
推荐指数
1
解决办法
140
查看次数

标签 统计

r ×2

digits ×1

dplyr ×1

formatting ×1

max ×1

tidyverse ×1