In a statement like: df %>% mutate(v1 = as.double(v1)) I expect the variable v1 in dataframe df to have been converted into a double. However, when I do: str(df) v1 still shows as int. Do I need to save the modified dataframe after mutating a variable?
This seems needlessly complicated. df$v1 <- as.double(df$v1) Or as.numeric() On Sat, Jul 25, 2020 at 3:31 PM H <agents at meddatainc.com> wrote:> In a statement like: > > df %>% mutate(v1 = as.double(v1)) > > I expect the variable v1 in dataframe df to have been converted into a > double. However, when I do: > > str(df) > > v1 still shows as int. Do I need to save the modified dataframe after > mutating a variable? > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- Patrick S. Malone, Ph.D., Malone Quantitative NEW Service Models: http://malonequantitative.com He/Him/His [[alternative HTML version deleted]]
R is largely a functional language. You do something to an input and end up with an output that has no effect on the input. This is actually a highly desirable feature. If you want your df variable to reflect changes made then you need to assign your result back into it. df <- df %>% mutate(v1 = as.double(v1)) (Note that the data.table package violates this principle and is controversial as a result.) On July 25, 2020 12:11:24 PM PDT, H <agents at meddatainc.com> wrote:>In a statement like: > >df %>% mutate(v1 = as.double(v1)) > >I expect the variable v1 in dataframe df to have been converted into a >double. However, when I do: > >str(df) > >v1 still shows as int. Do I need to save the modified dataframe after >mutating a variable? > >______________________________________________ >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide >http://www.R-project.org/posting-guide.html >and provide commented, minimal, self-contained, reproducible code.-- Sent from my phone. Please excuse my brevity.
Jeff, mutate(), which is I think part of dplyr, also violates this, for what it's worth. I suspect the breaking point is that mutate() is intended to create new columns in the dataframe, not alter existing ones. On Sat, Jul 25, 2020 at 3:52 PM Jeff Newmiller <jdnewmil at dcn.davis.ca.us> wrote:> R is largely a functional language. You do something to an input and end > up with an output that has no effect on the input. This is actually a > highly desirable feature. > > If you want your df variable to reflect changes made then you need to > assign your result back into it. > > df <- df %>% mutate(v1 = as.double(v1)) > > (Note that the data.table package violates this principle and is > controversial as a result.) > > On July 25, 2020 12:11:24 PM PDT, H <agents at meddatainc.com> wrote: > >In a statement like: > > > >df %>% mutate(v1 = as.double(v1)) > > > >I expect the variable v1 in dataframe df to have been converted into a > >double. However, when I do: > > > >str(df) > > > >v1 still shows as int. Do I need to save the modified dataframe after > >mutating a variable? > > > >______________________________________________ > >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > >https://stat.ethz.ch/mailman/listinfo/r-help > >PLEASE do read the posting guide > >http://www.R-project.org/posting-guide.html > >and provide commented, minimal, self-contained, reproducible code. > > -- > Sent from my phone. Please excuse my brevity. > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- Patrick S. Malone, Ph.D., Malone Quantitative NEW Service Models: http://malonequantitative.com He/Him/His [[alternative HTML version deleted]]