r - 如何在R中对特定列进行排序
问题描述
我想为 O 列获取下表
BB K C O P
1 1 c1 o1 4
2 1 c2 o1 1
3 1 c3 o1 8
4 1 c4 o2 3
5 1 c5 o2 4
6 1 c6 o2 9
7 2 c1 o1 2
8 2 c2 o1 1
9 2 c3 o1 3
10 2 c4 o2 8
11 2 c5 o2 7
12 2 c6 o2 9
13 3 c1 o1 6
14 3 c2 o1 10
15 3 c3 o1 6
16 3 c4 o2 2
17 3 c5 o2 9
18 3 c6 o2 5
使用的代码是:
tibble(BB= c(1:18)) %>%
group_by(K= factor(rep(row_number(), each=6, length.out = n()))) %>%
mutate(C = str_c('c', row_number())) %>%
group_by(O= factor(rep(row_number(), each=2, length.out = n()))) %>%
mutate(P = sample(1:10, n(), replace = TRUE)) %>%
ungroup
我努力整理 O 列
解决方案
我们可以使用rep
:
library(dplyr)
df %>%
group_by(K) %>%
mutate(O = rep(c('o1', 'o2'), each = n()/2, length.out = n()))
# BB K C O P
# <int> <fct> <chr> <chr> <int>
# 1 1 1 c1 o1 8
# 2 2 1 c2 o1 6
# 3 3 1 c3 o1 2
# 4 4 1 c4 o2 10
# 5 5 1 c5 o2 10
# 6 6 1 c6 o2 9
# 7 7 2 c1 o1 9
# 8 8 2 c2 o1 3
# 9 9 2 c3 o1 2
#10 10 2 c4 o2 6
#11 11 2 c5 o2 9
#12 12 2 c6 o2 3
#13 13 3 c1 o1 8
#14 14 3 c2 o1 1
#15 15 3 c3 o1 2
#16 16 3 c4 o2 2
#17 17 3 c5 o2 7
#18 18 3 c6 o2 5
推荐阅读
- google-blogger-api - Blogger API v3 Python 示例或文档
- wordpress - SQL Query 用于获取具有某些元键的特定类型的所有帖子
- javascript - Javascript 按 X 值过滤
- netty - 使用 Bazel 安装带有动态链接的 netty-tcnative
- javascript - Photoshop,如何对动作调色板进行脚本更改
- kubernetes - 如果没有入口可用于其他服务,Nginx Ingress 将重定向到第一个服务
- python - 如果它们以相同的 int 开头,则合并 pandas df 行
- python - 比 Counter 对象上的两倍 for 循环快
- c++ - c++ 变量未在范围错误和不匹配类型警告中声明的问题
- r - 用两个步骤对 R 中的数据框进行子集化