R& Excel:创建数据透视表&切片机

时间:2017-11-02 13:05:33

标签: r excel

我们的业务用户希望我们在分析后面创建数据导出。 AVP想知道我们是否可以在数据上抛出切片器,以便用户可以按照他们想要的任何方式过滤数据。 Excel切片器由数据透视表支持,因此我必须首先在Excel工作簿中创建数据透视表。

我可以轻松地将数据从R导出到Excel。我似乎无法找到支持创建数据透视表或切片器的R包。这样的包存在吗?或者这是否超出了目前任何可用包装的范围?

3 个答案:

答案 0 :(得分:0)

R中的包很少提供这些功能。我建议你使用 rpivotTable dplyr 。这些是我经常使用的两个包。

您可以详细研究这些内容。

https://cran.r-project.org/web/packages/rpivotTable/rpivotTable.pdf

答案 1 :(得分:0)

嗨Mike我创建了一个数据集,看看如何使用 reshape 包生成数据透视。这可以下载为excel / csv。希望这可以帮助你

ID<-c(2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023)

type<-c('Spices','Spices','Fruit','Fruit','Fruit','Spices','Spices','Spices','Spices','Spices','Fruit','Fruit','Spices','Fruit','Fruit','Fruit','Fruit','Spices','Fruit','Fruit')

state<-c('New Jersey','New Jersey','New Jersey','New Jersey','New Jersey','New Jersey','Florida','Michigan','Michigan','New Jersey','New Jersey','New Jersey','New Jersey','New Jersey','New Jersey','Florida','Michigan', 'Michigan','Florida','Florida')

price<-c (1442,639,71,22,1185,508,434,24,528,8,41,82,2994,385,545,1850,2966,31,536,42)

data=data.frame(ID,type,state,price)

library(reshape)

data.m=melt(data, id=c(1:4), measure=c(4))

df1 <-cast(data.m, ID~type+value, sum)

#for adding grand total

df2<- cast(data.m, ID~type+value, sum, margins=c("grand_row"))

#for adding filter

df3 <- cast(data.m, ID~type+value, sum, margins=c("grand_row"),subset=state=="Florida")

df1,df2和df3是关键点。

答案 2 :(得分:0)

这是一个古老的问题,但万一有人到这里来,仍然需要回答核心问题:

  

我可以轻松地将数据从R导出到Excel。我似乎找不到支持[在Excel中]创建数据透视表或切片器的R包。是否存在这样的软件包?

是的,感谢克里斯·贝利斯(Chris Bailiss)。检出软件包pivottabler,其中有一个很好的小插图介绍here