如何将其作为table
的一个结果转换为普通表,以便对其进行正确绘制。
要获得所需输出的更清晰图片,应该是这样的:
Mountain Bikes Road Bikes 2005 130694 708713 2006 168445 1304031 2007 0 56112
我什至尝试过一些愚蠢的事情,例如分别计算值然后将它们组合起来。但它仍然是一个数据帧,因此它认为第一列是值而不是标题。
答案 0 :(得分:0)
使用dplyr
和tidyr
的解决方案。
library(dplyr)
library(tidyr)
dat2 <- dat %>%
group_by(Category, Year) %>%
summarize(SUM = sum(x)) %>%
spread(Category, SUM, fill = 0)
dat2
# # A tibble: 3 x 3
# Year `Mountain Bikes` `Road Bikes`
# <dbl> <dbl> <dbl>
# 1 2005 130694 708713
# 2 2006 168445 1304031
# 3 2007 0 561122
数据
dat <- data.frame(Category = paste(c("Mountain", "Road", "Mountain",
"Road", "Road"), "Bikes", sep = " "),
Year = c(2005, 2005, 2006, 2006, 2007),
x = c(130694, 708713, 168445, 1304031, 561122))