[R] Modifying dataframe with mutate()

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Sun Jul 26 01:54:55 CEST 2020


Were you thinking of the %<>% operator?  That's a magrittr thing, where 
x %<>% y acts like x <- x %>% y .

Duncan Murdoch

On 25/07/2020 4:18 p.m., Patrick (Malone Quantitative) wrote:
> Oh, right--I puzzled out my mistake.
> 
> On Sat, Jul 25, 2020 at 4:17 PM Jeff Newmiller <jdnewmil using dcn.davis.ca.us>
> 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.
>>>>
>>
>> --
>> Sent from my phone. Please excuse my brevity.
>>
> 
>



More information about the R-help mailing list