/ / V dplyr, je možné určiť, kam pridať nový stĺpec pomocou mutovať? - r, dátový rámec, dplyr, mutovať

V dplyr, je možné určiť, kam pridať nový stĺpec pomocou mutovať? - r, dátový rámec, dplyr, mutovať

V súčasnosti musím používať add_column priamo vložiť nový stĺpec do požadovanej pozície alebo použiť mutate, potom select s novým poľadovaným poradím stĺpcov.

mips.group <- str_extract(mips.manifest$PlateName, "[:alnum:]+_([[:alnum:]&&[^P]]+(_CL)?)?|(KORgex)")

mips.manifest %<>%
add_column(MIPSGroup=mips.group, .after="PlateName")

Je to možné priamo povedať mutate kam pridať nový stĺpec, a ak nie, existuje dôvod na to?

odpovede:

2 pre odpoveď č. 1

Keď sa pozrieme na kód mutácie, zdá sa, že to nebude jednoduché, pretože nakoniec sa ponorí do funkcie C:

> mutate
function (.data, ...)
{
UseMethod("mutate")
}
<environment: namespace:dplyr>
> methods(mutate)
[1] mutate.data.frame* mutate.default*    mutate.tbl_df*
see "?methods" for accessing help and source code
> getAnywhere(mutate.tbl_df)
A single object matching ‘mutate.tbl_df’ was found
It was found in the following places
registered S3 method for mutate from namespace dplyr
namespace:dplyr
with value

function (.data, ...)
{
dots <- named_quos(...)
mutate_impl(.data, dots)
}
<environment: namespace:dplyr>
> mutate_impl
Error: object "mutate_impl" not found
> getAnywhere(mutate_impl)
A single object matching ‘mutate_impl’ was found
It was found in the following places
namespace:dplyr
with value

function (df, dots)
{
.Call(`_dplyr_mutate_impl`, df, dots)
}
<environment: namespace:dplyr>

Zdá sa pochybné, že zmeny budú privítané, pretože už máte funkčné riešenie.


1 pre odpoveď č. 2

Na stránke gplyub dplyra sa týka tejto otázky. O tomto môžete prečítať tu, Ale teraz je ponechaná ako taká.

Ale vždy môžete k diskusii pridať svoje dôvody.