嵌套行标签到列
我有一个CSV,它似乎是Excel Pivot表的输出,其名称嵌套为用于重复组的行标签。我想清洁数据,以便在单独的列中重复行标签,理想情况下使用dplyr。
数据看起来像这样:
dd <- data.frame(variables = c("Abington", "Number of Sales","YTD Number of Sales","Median Sale Price","YTD Median Sale Price", "Acton", "Number of Sales","YTD Number of Sales","Median Sale Price","YTD Median Sale Price"), Year1 = c(" ", 16, 50,415000,413500," ",23,60,799900,704000), Year2 = c(" ",8,13,583000,575000," ",9,39,995000,800000))
dd
variables Year1 Year2
Abington
Number of Sales 16 8
YTD Number of Sales 50 13
Median Sale Price 415000 583000
YTD Median Sale Price 413500 575000
Acton
Number of Sales 23 9
YTD Number of Sales 60 39
Median Sale Price 799900 995000
YTD Median Sale Price 704000 800000
我希望它看起来像这样:
Town variables Year1 Year2
Abington Number of Sales 16 8
Abington YTD Number of Sales 50 13
Abington Median Sale Price 415000 583000
Abington YTD Median Sale Price 413500 575000
Acton Number of Sales 23 9
Acton YTD Number of Sales 60 39
Acton Median Sale Price 799900 995000
Acton YTD Median Sale Price 704000 800000
I have a CSV that appears to be the output of an Excel Pivot Table with names nested as row labels for repeating groups. I would like to clean the data so that the row labels are repeated in a separate column, ideally using dplyr.
The data looks like this:
dd <- data.frame(variables = c("Abington", "Number of Sales","YTD Number of Sales","Median Sale Price","YTD Median Sale Price", "Acton", "Number of Sales","YTD Number of Sales","Median Sale Price","YTD Median Sale Price"), Year1 = c(" ", 16, 50,415000,413500," ",23,60,799900,704000), Year2 = c(" ",8,13,583000,575000," ",9,39,995000,800000))
dd
variables Year1 Year2
Abington
Number of Sales 16 8
YTD Number of Sales 50 13
Median Sale Price 415000 583000
YTD Median Sale Price 413500 575000
Acton
Number of Sales 23 9
YTD Number of Sales 60 39
Median Sale Price 799900 995000
YTD Median Sale Price 704000 800000
And I would like it to look like this:
Town variables Year1 Year2
Abington Number of Sales 16 8
Abington YTD Number of Sales 50 13
Abington Median Sale Price 415000 583000
Abington YTD Median Sale Price 413500 575000
Acton Number of Sales 23 9
Acton YTD Number of Sales 60 39
Acton Median Sale Price 799900 995000
Acton YTD Median Sale Price 704000 800000
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我们可以使用
tidyverse
(或dplyr
&amp;tidyr
)为此:结果:
很重要,请注意,
year y year 1的空值1
和year2
实际上是whitespaces(“”),而不是空字符串或na。We can use
tidyverse
(ordplyr
&tidyr
) for this:Resulting in:
Important to note that the empty values at
Year1
andYear2
are actually whitespaces (" ") rather than empty strings or NA.这是另一种方法:
输出:
Here is another approach:
Output: