Wie werden die Zeilennamen eines Datenrahmens festgelegt, der mit dem Pipe-Operator%>% übergeben wird?

Ich habe einen Datenrahmen, der ich bindcasting mit demreshape2 package, und ich möchte die erste Spalte entfernen und stattdessen die Zeilennamen des Datenrahmens verwenden.

Original dataframe, vordcast:

> corner(df)

ID_full      gene cpm
1  S36-A1   DDX11L1   0
2  S36-A1    WASH7P   0
3  S36-A1 MIR1302-2   0
4  S36-A1   FAM138A   0
5  S36-A1     OR4F5   0

pivot Funktion um die Tabelle zu dcasten:

 library(reshape2)

 pivot <- function(x){
             castTable <- x %>% dcast(ID_full ~ gene, value.var="cpm")
             }

Nachdcast, eingewickelt in meinpivot Funktion:

> corner(df)

ID_full 1060P11.3 A1BG A1BG-AS1 A1CF
1  S36-A1         0    0        0    0
2 S36-A10         0    0        0    0
3 S36-A11         0    0        0    0
4 S36-A12         0    0        0    0
5  S36-A2         0    0        0    0

Ich möchte, dass ID_full zu den Künstlernamen wird und nicht mehr als Spalte existiert, die nach @ weitergeleitet wirdcasting. Ich kann dies in mehreren Zeilen tun, wobei der Datenrahmen jedes Mal ersetzt wird, aber ich möchte alles mit dem @ tu%>% Operator

Der beste Versuch, den ich mir vorstellen kann, würde so etwas beinhalten, aber offensichtlich funktioniert es nicht:

library(dplyr)

df <- df %>% pivot(.) %>% with(., row.names=df[,1])

Ich würde mich über Vorschläge freuen ... dieses Ärgernis macht mich verrückt!

AKTUALISIEREN

Danke für deine Antworten

Dieser Ausdruck funktioniert gut:

df <- df %>% pivot(.) %>% `rownames<-`(.[,1]) %>% select(-ID_full)

> corner(df)

        1060P11.3 A1BG A1BG-AS1 A1CF        A2M
S36-A1          0    0        0    0    0.00000
S36-A10         0    0        0    0    0.00000
S36-A11         0    0        0    0    0.00000
S36-A12         0    0        0    0    1.62189
S36-A2          0    0        0    0 1170.95000

Antworten auf die Frage(4)

Ihre Antwort auf die Frage