Adding up multiple data frames based on 2 unique identifiers
I have ten data frames and I would like to add up them based on id and pnum. What is the best way to do this? Thank you
df1 -example of df1
id pnum v1 v2 v3... v144
111 1 1 0 0 ... 0
111 2 1 1 0 ...0
121 1 1 1 0 ...0
123 2 1 1 0 ...0
123 1 1 1 0 ...0
df3 -example of df3
id pnum v1 v2 v3... v144
111 1 0 0 0 ... 0
111 2 0 0 0 ...1
121 1 0 0 0 ...1
123 2 0 0 0 ...0
123 1 0 0 0 ...1
...
df10 -example of df10
id pnum v1 v2 v3... v144
111 1 0 0 0 ... 0
111 2 0 1 0 ...1
121 1 0 0 1 ...1
123 2 0 1 0 ...0
123 1 0 0 0 ...1
r function dataframe
add a comment |
I have ten data frames and I would like to add up them based on id and pnum. What is the best way to do this? Thank you
df1 -example of df1
id pnum v1 v2 v3... v144
111 1 1 0 0 ... 0
111 2 1 1 0 ...0
121 1 1 1 0 ...0
123 2 1 1 0 ...0
123 1 1 1 0 ...0
df3 -example of df3
id pnum v1 v2 v3... v144
111 1 0 0 0 ... 0
111 2 0 0 0 ...1
121 1 0 0 0 ...1
123 2 0 0 0 ...0
123 1 0 0 0 ...1
...
df10 -example of df10
id pnum v1 v2 v3... v144
111 1 0 0 0 ... 0
111 2 0 1 0 ...1
121 1 0 0 1 ...1
123 2 0 1 0 ...0
123 1 0 0 0 ...1
r function dataframe
add a comment |
I have ten data frames and I would like to add up them based on id and pnum. What is the best way to do this? Thank you
df1 -example of df1
id pnum v1 v2 v3... v144
111 1 1 0 0 ... 0
111 2 1 1 0 ...0
121 1 1 1 0 ...0
123 2 1 1 0 ...0
123 1 1 1 0 ...0
df3 -example of df3
id pnum v1 v2 v3... v144
111 1 0 0 0 ... 0
111 2 0 0 0 ...1
121 1 0 0 0 ...1
123 2 0 0 0 ...0
123 1 0 0 0 ...1
...
df10 -example of df10
id pnum v1 v2 v3... v144
111 1 0 0 0 ... 0
111 2 0 1 0 ...1
121 1 0 0 1 ...1
123 2 0 1 0 ...0
123 1 0 0 0 ...1
r function dataframe
I have ten data frames and I would like to add up them based on id and pnum. What is the best way to do this? Thank you
df1 -example of df1
id pnum v1 v2 v3... v144
111 1 1 0 0 ... 0
111 2 1 1 0 ...0
121 1 1 1 0 ...0
123 2 1 1 0 ...0
123 1 1 1 0 ...0
df3 -example of df3
id pnum v1 v2 v3... v144
111 1 0 0 0 ... 0
111 2 0 0 0 ...1
121 1 0 0 0 ...1
123 2 0 0 0 ...0
123 1 0 0 0 ...1
...
df10 -example of df10
id pnum v1 v2 v3... v144
111 1 0 0 0 ... 0
111 2 0 1 0 ...1
121 1 0 0 1 ...1
123 2 0 1 0 ...0
123 1 0 0 0 ...1
r function dataframe
r function dataframe
edited Nov 21 '18 at 20:12
RforDummies
asked Nov 21 '18 at 17:49
RforDummiesRforDummies
378
378
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
We can get the datasets in a list
with mget
, use bind_rows
to row bind the datasets to a single dataset, grouped by 'id', 'pnum', summarise all the columns (summarise_all
) to return the sum
for each group
library(dplyr)
mget(paste0('df', 1:10)) %>%
bind_rows %>%
group_by(id, pnum) %>%
summarise_all(sum)
add a comment |
Consider rbind
on list of data frames and then run aggregate
df_list <- list(df1, df2, df3, ..., df10)
master_df <- do.call(rbind, df_list)
agg_df <- aggregate(. ~ ID + pnum, master_df, sum)
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417893%2fadding-up-multiple-data-frames-based-on-2-unique-identifiers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
We can get the datasets in a list
with mget
, use bind_rows
to row bind the datasets to a single dataset, grouped by 'id', 'pnum', summarise all the columns (summarise_all
) to return the sum
for each group
library(dplyr)
mget(paste0('df', 1:10)) %>%
bind_rows %>%
group_by(id, pnum) %>%
summarise_all(sum)
add a comment |
We can get the datasets in a list
with mget
, use bind_rows
to row bind the datasets to a single dataset, grouped by 'id', 'pnum', summarise all the columns (summarise_all
) to return the sum
for each group
library(dplyr)
mget(paste0('df', 1:10)) %>%
bind_rows %>%
group_by(id, pnum) %>%
summarise_all(sum)
add a comment |
We can get the datasets in a list
with mget
, use bind_rows
to row bind the datasets to a single dataset, grouped by 'id', 'pnum', summarise all the columns (summarise_all
) to return the sum
for each group
library(dplyr)
mget(paste0('df', 1:10)) %>%
bind_rows %>%
group_by(id, pnum) %>%
summarise_all(sum)
We can get the datasets in a list
with mget
, use bind_rows
to row bind the datasets to a single dataset, grouped by 'id', 'pnum', summarise all the columns (summarise_all
) to return the sum
for each group
library(dplyr)
mget(paste0('df', 1:10)) %>%
bind_rows %>%
group_by(id, pnum) %>%
summarise_all(sum)
answered Nov 21 '18 at 17:51
akrunakrun
409k13198273
409k13198273
add a comment |
add a comment |
Consider rbind
on list of data frames and then run aggregate
df_list <- list(df1, df2, df3, ..., df10)
master_df <- do.call(rbind, df_list)
agg_df <- aggregate(. ~ ID + pnum, master_df, sum)
add a comment |
Consider rbind
on list of data frames and then run aggregate
df_list <- list(df1, df2, df3, ..., df10)
master_df <- do.call(rbind, df_list)
agg_df <- aggregate(. ~ ID + pnum, master_df, sum)
add a comment |
Consider rbind
on list of data frames and then run aggregate
df_list <- list(df1, df2, df3, ..., df10)
master_df <- do.call(rbind, df_list)
agg_df <- aggregate(. ~ ID + pnum, master_df, sum)
Consider rbind
on list of data frames and then run aggregate
df_list <- list(df1, df2, df3, ..., df10)
master_df <- do.call(rbind, df_list)
agg_df <- aggregate(. ~ ID + pnum, master_df, sum)
answered Nov 21 '18 at 20:41
ParfaitParfait
51.9k84470
51.9k84470
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53417893%2fadding-up-multiple-data-frames-based-on-2-unique-identifiers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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