首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dcast函数->重排序列

Dcast函数->重排序列
EN

Stack Overflow用户
提问于 2018-06-06 07:58:47
回答 1查看 53关注 0票数 0

我使用dcast函数显示不同公司每月的支出。当然,我要一月一号,然后二月等,而不是字母顺序。

代码语言:javascript
复制
Spendings <- data %>%
    filter(Familie == "Riegel" & Jahr == "2017") %>%
    group_by(Firma, Produktmarke, `Name Kurz`) %>%
    summarise(Spendingsges = sum(EUR, na.rm = TRUE))

Spendings <- dcast(data = Spendings, Firma + Produktmarke ~ `Name Kurz`, value.var="Spendingsges")
Spendings

                Firma               Produktmarke     Apr     Aug     Dez     Feb     Jan     Jul     Jun     Mai     Mrz     Nov     Okt     Sep
                Company1           Product1          228582 1902138  725781      NA  709970      NA  265313  228177      NA      NA 1463258 4031267

是否有一种方法可以重新排序列动态?例如,2018年的数据比较短,所以我不能使用:

代码语言:javascript
复制
Spendings <- Spendings[,c("Firma", "Produktmarke", "Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")]
EN

回答 1

Stack Overflow用户

发布于 2018-06-06 09:33:15

代码语言:javascript
复制
    Spendings_raw <- data.frame(matrix(ncol = 14, nrow = 0))
colnames(Spendings_raw) <- c("Firma", "Produktmarke", "Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez")
Spendings_raw

Spendings <- data %>%
    filter(Familie == "Riegel" & Jahr == "2017") %>%
    group_by(Firma, Produktmarke, `Name Kurz`) %>%
    summarise(Spendingsges = sum(EUR, na.rm = TRUE))


Spendings <- dcast(data = Spendings, Firma + Produktmarke ~ `Name Kurz`, value.var="Spendingsges")
Spendings <- rbind.fill(Spendings_raw, Spendings)

这是完美的;-)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50715117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档