[R] Modifying dataframe with mutate()

H @gent@ @end|ng |rom medd@t@|nc@com
Sun Jul 26 02:11:03 CEST 2020


On 07/25/2020 04:17 PM, Jeff Newmiller wrote:
> False. Mutate is similar in structure to the base function `within`. Which is why you have to assign the altered data frame back onto itself.
>
> On July 25, 2020 12:59:06 PM PDT, "Patrick (Malone Quantitative)" <malone using malonequantitative.com> wrote:
>> 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 using 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 using 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 using 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 using 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.
>>>
Thank you, code corrected and problem solved. I was thrown off by the fact that after mutating it looked like the column data type had been changed. I also tried mutate_at() which similarly failed...



More information about the R-help mailing list