我正在处理ExcelElectron 表格形式的报告,它们的标题具有不同的缩进级别(下面的tidyxl示例结果).标题组之间的缩进级别也可能不一致,例如标题1与标题2.
contents <- c('Heading 1', 'Subheading 1', 'Item 1', 'Item 2', 'Subheading 2', 'Item 1', 'Item 2', 'Heading 2','Subheading 1','Item 1','Item 2')
indents <- c(0,1,2,2,1,2,2,0,2,4,4)
df <- data.frame(indents,contents)
indents contents
1 0 Heading 1
2 1 Subheading 1
3 2 Item 1
4 2 Item 2
5 1 Subheading 2
6 2 Item 1
7 2 Item 2
8 0 Heading 2
9 2 Subheading 1
10 4 Item 1
11 4 Item 2
我想生成一个标题矢量,其中的标题连接在一起,如下面的"Headings"下所示.
headings <- c('Heading 1','Heading 1 | Subheading 1','Heading 1 | Subheading 1 | Item 1','Heading 1 | Subheading 1 | Item 2','Heading 1 | Subheading 2','Heading 1 | Subheading 2 | Item 1','Heading 1 | Subheading 2 | Item 2','Heading 2','Heading 2 | Subheading 1','Heading 2 | Subheading 1 | Item 1','Heading 2 | Subheading 1 | Item 2')
data.frame(indents,contents, headings)
indents contents headings
1 0 Heading 1 Heading 1
2 1 Subheading 1 Heading 1 | Subheading 1
3 2 Item 1 Heading 1 | Subheading 1 | Item 1
4 2 Item 2 Heading 1 | Subheading 1 | Item 2
5 1 Subheading 2 Heading 1 | Subheading 2
6 2 Item 1 Heading 1 | Subheading 2 | Item 1
7 2 Item 2 Heading 1 | Subheading 2 | Item 2
8 0 Heading 2 Heading 2
9 2 Subheading 1 Heading 2 | Subheading 1
10 4 Item 1 Heading 2 | Subheading 1 | Item 1
11 4 Item 2 Heading 2 | Subheading 1 | Item 2
我一直在寻找解决方案,但没有找到任何我需要的东西.我想象一个paste或paste0调用在一个循环或应用功能可以做到这一点,但我还没有任何运气至今.