Przenoszenie kolumn w data.frame () bez ponownego wpisywania

Czy istnieje metoda przenoszenia kolumny z jednej pozycji w pliku data.frame do następnej - bez wpisywania całkowicie nowej data.frame ()?

np.

a <- b <- c <- d <- e <- f <- g <- 1:100
df <- data.frame(a,b,c,d,e,f,g)

Powiedzmy teraz, że chciałem „g” przed „a”

Mógłbym to przepisać tak

df <- data.frame(g,a,b,c,d,e,f)

Ale czy jest szybszy sposób? Co gdy kolumn są tysiące ?

1 odpowiedź

Oto jeden ze sposobów, aby to zrobić:

> col_idx <- grep("g", names(df))
> df <- df[, c(col_idx, (1:ncol(df))[-col_idx])]
> names(df)
[1] "g" "a" "b" "c" "d" "e" "f"

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.