Finding max value with tidyverse
I'm new to tidyverse and trying to learn it.
I want to find the max value of a column in a matrix. How I would do it with base R:
state.name[which.max(state.x77[,"Illiteracy"])]
Here is what I've tried using tidyverse so far:
state.x77 %>% state.name %>% which.max(.,"Illiteracy")
state.x77 %>% select(.,max(state.name))
state.x77 %>%
group_by(state.name) %>%
summarize(max(.,))
I'm really unsure how to fit the Illiteracy part into, as well.
Thanks for help.
r max tidyverse
add a comment |
I'm new to tidyverse and trying to learn it.
I want to find the max value of a column in a matrix. How I would do it with base R:
state.name[which.max(state.x77[,"Illiteracy"])]
Here is what I've tried using tidyverse so far:
state.x77 %>% state.name %>% which.max(.,"Illiteracy")
state.x77 %>% select(.,max(state.name))
state.x77 %>%
group_by(state.name) %>%
summarize(max(.,))
I'm really unsure how to fit the Illiteracy part into, as well.
Thanks for help.
r max tidyverse
Please add a reproducible example along with expected output.
– Ronak Shah
Nov 20 '18 at 2:21
state.name[which.max(state.x77[,"Illiteracy"])]
should produce "Louisiana". This is from state.x77, which comes with R.
– Bkk
Nov 20 '18 at 2:24
add a comment |
I'm new to tidyverse and trying to learn it.
I want to find the max value of a column in a matrix. How I would do it with base R:
state.name[which.max(state.x77[,"Illiteracy"])]
Here is what I've tried using tidyverse so far:
state.x77 %>% state.name %>% which.max(.,"Illiteracy")
state.x77 %>% select(.,max(state.name))
state.x77 %>%
group_by(state.name) %>%
summarize(max(.,))
I'm really unsure how to fit the Illiteracy part into, as well.
Thanks for help.
r max tidyverse
I'm new to tidyverse and trying to learn it.
I want to find the max value of a column in a matrix. How I would do it with base R:
state.name[which.max(state.x77[,"Illiteracy"])]
Here is what I've tried using tidyverse so far:
state.x77 %>% state.name %>% which.max(.,"Illiteracy")
state.x77 %>% select(.,max(state.name))
state.x77 %>%
group_by(state.name) %>%
summarize(max(.,))
I'm really unsure how to fit the Illiteracy part into, as well.
Thanks for help.
r max tidyverse
r max tidyverse
asked Nov 20 '18 at 2:16
BkkBkk
374
374
Please add a reproducible example along with expected output.
– Ronak Shah
Nov 20 '18 at 2:21
state.name[which.max(state.x77[,"Illiteracy"])]
should produce "Louisiana". This is from state.x77, which comes with R.
– Bkk
Nov 20 '18 at 2:24
add a comment |
Please add a reproducible example along with expected output.
– Ronak Shah
Nov 20 '18 at 2:21
state.name[which.max(state.x77[,"Illiteracy"])]
should produce "Louisiana". This is from state.x77, which comes with R.
– Bkk
Nov 20 '18 at 2:24
Please add a reproducible example along with expected output.
– Ronak Shah
Nov 20 '18 at 2:21
Please add a reproducible example along with expected output.
– Ronak Shah
Nov 20 '18 at 2:21
state.name[which.max(state.x77[,"Illiteracy"])]
should produce "Louisiana". This is from state.x77, which comes with R.– Bkk
Nov 20 '18 at 2:24
state.name[which.max(state.x77[,"Illiteracy"])]
should produce "Louisiana". This is from state.x77, which comes with R.– Bkk
Nov 20 '18 at 2:24
add a comment |
1 Answer
1
active
oldest
votes
Your first issue is that state.x77
is a matrix. The tidyverse works on data frames. So you need to convert.
The tidyverse dislikes variables as row names - better to have their own column. There's a function for that: tibble::rownames_to_column
.
filter
selects rows according to the criteria you specify, so one way to get maximum Illiteracy is:
library(tibble)
library(dplyr)
state.x77 %>%
as.data.frame() %>%
rownames_to_column(var = "Name") %>%
filter(Illiteracy == max(Illiteracy))
Name Population Income Illiteracy Life Exp Murder HS Grad Frost Area
1 Louisiana 3806 3545 2.8 68.76 13.2 42.2 12 44930
You can add %>% select(Name)
or %>% pull(Name)
to the end if all you want is the state name.
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%2f53385276%2ffinding-max-value-with-tidyverse%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your first issue is that state.x77
is a matrix. The tidyverse works on data frames. So you need to convert.
The tidyverse dislikes variables as row names - better to have their own column. There's a function for that: tibble::rownames_to_column
.
filter
selects rows according to the criteria you specify, so one way to get maximum Illiteracy is:
library(tibble)
library(dplyr)
state.x77 %>%
as.data.frame() %>%
rownames_to_column(var = "Name") %>%
filter(Illiteracy == max(Illiteracy))
Name Population Income Illiteracy Life Exp Murder HS Grad Frost Area
1 Louisiana 3806 3545 2.8 68.76 13.2 42.2 12 44930
You can add %>% select(Name)
or %>% pull(Name)
to the end if all you want is the state name.
add a comment |
Your first issue is that state.x77
is a matrix. The tidyverse works on data frames. So you need to convert.
The tidyverse dislikes variables as row names - better to have their own column. There's a function for that: tibble::rownames_to_column
.
filter
selects rows according to the criteria you specify, so one way to get maximum Illiteracy is:
library(tibble)
library(dplyr)
state.x77 %>%
as.data.frame() %>%
rownames_to_column(var = "Name") %>%
filter(Illiteracy == max(Illiteracy))
Name Population Income Illiteracy Life Exp Murder HS Grad Frost Area
1 Louisiana 3806 3545 2.8 68.76 13.2 42.2 12 44930
You can add %>% select(Name)
or %>% pull(Name)
to the end if all you want is the state name.
add a comment |
Your first issue is that state.x77
is a matrix. The tidyverse works on data frames. So you need to convert.
The tidyverse dislikes variables as row names - better to have their own column. There's a function for that: tibble::rownames_to_column
.
filter
selects rows according to the criteria you specify, so one way to get maximum Illiteracy is:
library(tibble)
library(dplyr)
state.x77 %>%
as.data.frame() %>%
rownames_to_column(var = "Name") %>%
filter(Illiteracy == max(Illiteracy))
Name Population Income Illiteracy Life Exp Murder HS Grad Frost Area
1 Louisiana 3806 3545 2.8 68.76 13.2 42.2 12 44930
You can add %>% select(Name)
or %>% pull(Name)
to the end if all you want is the state name.
Your first issue is that state.x77
is a matrix. The tidyverse works on data frames. So you need to convert.
The tidyverse dislikes variables as row names - better to have their own column. There's a function for that: tibble::rownames_to_column
.
filter
selects rows according to the criteria you specify, so one way to get maximum Illiteracy is:
library(tibble)
library(dplyr)
state.x77 %>%
as.data.frame() %>%
rownames_to_column(var = "Name") %>%
filter(Illiteracy == max(Illiteracy))
Name Population Income Illiteracy Life Exp Murder HS Grad Frost Area
1 Louisiana 3806 3545 2.8 68.76 13.2 42.2 12 44930
You can add %>% select(Name)
or %>% pull(Name)
to the end if all you want is the state name.
answered Nov 20 '18 at 2:27
neilfwsneilfws
17.6k53648
17.6k53648
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%2f53385276%2ffinding-max-value-with-tidyverse%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
Please add a reproducible example along with expected output.
– Ronak Shah
Nov 20 '18 at 2:21
state.name[which.max(state.x77[,"Illiteracy"])]
should produce "Louisiana". This is from state.x77, which comes with R.– Bkk
Nov 20 '18 at 2:24