如何解决R 如何在给定起点和终点的小标题中生成序列
我想不出如何以整洁的方式做到这一点。
tibble(
Min = c(1,5,12,13,19),Max = c(3,11,14,Value = c("a","bb","c","d","e" )
)
tibble(
Row = c(1:3,5:11,12:12,13:14,19:19),Value = c( rep("a",3),rep("bb",7),"e" )
)
感谢大家提出的任何建议。唯一想到的“解决方案”有点麻烦。
解决方法
1) 如果 DF 是输入,则:
library(dplyr)
DF %>%
group_by(Value) %>%
group_modify(~ tibble(Row = seq(.$Min,.$Max))) %>%
ungroup
给予:
# A tibble: 14 x 2
Value Row
<chr> <int>
1 a 1
2 a 2
3 a 3
4 bb 5
5 bb 6
6 bb 7
7 bb 8
8 bb 9
9 bb 10
10 bb 11
11 c 12
12 d 13
13 d 14
14 e 19
2) 这将创建一个包含小标题的列表列 L,然后将其取消嵌套。重复的 Value
元素可以用这个。
library(dplyr)
library(tidyr)
DF %>%
rowwise %>%
summarize(L = list(tibble(Value,Row = seq(Min,Max)))) %>%
ungroup %>%
unnest(L)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。