R - stacked bargraph with subgrouped stacks












0














I am trying to create a stacked barplot with a dataframe of car makes and models



I have a dataframe with columns of
"date": which is date of purchase,
"manufacturer",
"model",



either:



where the x axis will be year with multiple bars in each year. Each bar will comprise of manufacturer subdivided by model.



Or



where the x axis will be year with single stacked bar in each year. Each bar would be stacked by manufacturer and further subdivided by model.



I have subsetted the dataframe into each year which runs October to October using:



```{r}
yearfunction <- function(x,y){df[df$date >= x & df$date <= y,]}
year1start <- as.Date("2001-10-1")
year1end <- as.Date("2002-9-30")
year1 <- yearfunction(year1start, year1end)
```


So I have multiple dataframes called, "year1", "year2", "year3" etc.
Is there a way to remerge these datasets back together adding a column with the dataset name it was merged from? is there a more elegant way of doing this? (as it seems a little messy)



I have previously used ggplot2 but cannot find a way of subdividing the 'fill=' part of the geom_bar function. Is there a way of doing this?



Many thanks in anticipation of your help!










share|improve this question


















  • 1




    Welcome to Stack Overflow! Could you make your problem reproducible by sharing a sample of your data so others can help (please do not use str(), head() or screenshot)? You can use the reprex and datapasta packages to assist you with that. See also Help me Help you & How to make a great R reproducible example?
    – Tung
    Nov 19 '18 at 19:49
















0














I am trying to create a stacked barplot with a dataframe of car makes and models



I have a dataframe with columns of
"date": which is date of purchase,
"manufacturer",
"model",



either:



where the x axis will be year with multiple bars in each year. Each bar will comprise of manufacturer subdivided by model.



Or



where the x axis will be year with single stacked bar in each year. Each bar would be stacked by manufacturer and further subdivided by model.



I have subsetted the dataframe into each year which runs October to October using:



```{r}
yearfunction <- function(x,y){df[df$date >= x & df$date <= y,]}
year1start <- as.Date("2001-10-1")
year1end <- as.Date("2002-9-30")
year1 <- yearfunction(year1start, year1end)
```


So I have multiple dataframes called, "year1", "year2", "year3" etc.
Is there a way to remerge these datasets back together adding a column with the dataset name it was merged from? is there a more elegant way of doing this? (as it seems a little messy)



I have previously used ggplot2 but cannot find a way of subdividing the 'fill=' part of the geom_bar function. Is there a way of doing this?



Many thanks in anticipation of your help!










share|improve this question


















  • 1




    Welcome to Stack Overflow! Could you make your problem reproducible by sharing a sample of your data so others can help (please do not use str(), head() or screenshot)? You can use the reprex and datapasta packages to assist you with that. See also Help me Help you & How to make a great R reproducible example?
    – Tung
    Nov 19 '18 at 19:49














0












0








0







I am trying to create a stacked barplot with a dataframe of car makes and models



I have a dataframe with columns of
"date": which is date of purchase,
"manufacturer",
"model",



either:



where the x axis will be year with multiple bars in each year. Each bar will comprise of manufacturer subdivided by model.



Or



where the x axis will be year with single stacked bar in each year. Each bar would be stacked by manufacturer and further subdivided by model.



I have subsetted the dataframe into each year which runs October to October using:



```{r}
yearfunction <- function(x,y){df[df$date >= x & df$date <= y,]}
year1start <- as.Date("2001-10-1")
year1end <- as.Date("2002-9-30")
year1 <- yearfunction(year1start, year1end)
```


So I have multiple dataframes called, "year1", "year2", "year3" etc.
Is there a way to remerge these datasets back together adding a column with the dataset name it was merged from? is there a more elegant way of doing this? (as it seems a little messy)



I have previously used ggplot2 but cannot find a way of subdividing the 'fill=' part of the geom_bar function. Is there a way of doing this?



Many thanks in anticipation of your help!










share|improve this question













I am trying to create a stacked barplot with a dataframe of car makes and models



I have a dataframe with columns of
"date": which is date of purchase,
"manufacturer",
"model",



either:



where the x axis will be year with multiple bars in each year. Each bar will comprise of manufacturer subdivided by model.



Or



where the x axis will be year with single stacked bar in each year. Each bar would be stacked by manufacturer and further subdivided by model.



I have subsetted the dataframe into each year which runs October to October using:



```{r}
yearfunction <- function(x,y){df[df$date >= x & df$date <= y,]}
year1start <- as.Date("2001-10-1")
year1end <- as.Date("2002-9-30")
year1 <- yearfunction(year1start, year1end)
```


So I have multiple dataframes called, "year1", "year2", "year3" etc.
Is there a way to remerge these datasets back together adding a column with the dataset name it was merged from? is there a more elegant way of doing this? (as it seems a little messy)



I have previously used ggplot2 but cannot find a way of subdividing the 'fill=' part of the geom_bar function. Is there a way of doing this?



Many thanks in anticipation of your help!







r ggplot2 geom-bar






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 19 '18 at 18:59









James BryanJames Bryan

1




1








  • 1




    Welcome to Stack Overflow! Could you make your problem reproducible by sharing a sample of your data so others can help (please do not use str(), head() or screenshot)? You can use the reprex and datapasta packages to assist you with that. See also Help me Help you & How to make a great R reproducible example?
    – Tung
    Nov 19 '18 at 19:49














  • 1




    Welcome to Stack Overflow! Could you make your problem reproducible by sharing a sample of your data so others can help (please do not use str(), head() or screenshot)? You can use the reprex and datapasta packages to assist you with that. See also Help me Help you & How to make a great R reproducible example?
    – Tung
    Nov 19 '18 at 19:49








1




1




Welcome to Stack Overflow! Could you make your problem reproducible by sharing a sample of your data so others can help (please do not use str(), head() or screenshot)? You can use the reprex and datapasta packages to assist you with that. See also Help me Help you & How to make a great R reproducible example?
– Tung
Nov 19 '18 at 19:49




Welcome to Stack Overflow! Could you make your problem reproducible by sharing a sample of your data so others can help (please do not use str(), head() or screenshot)? You can use the reprex and datapasta packages to assist you with that. See also Help me Help you & How to make a great R reproducible example?
– Tung
Nov 19 '18 at 19:49












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53381021%2fr-stacked-bargraph-with-subgrouped-stacks%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53381021%2fr-stacked-bargraph-with-subgrouped-stacks%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

ts Property 'filter' does not exist on type '{}'

Notepad++ export/extract a list of installed plugins