Mam DF, gdzie chcę dodać nową zmienną o nazwie "B" do drugiej pozycji.Dodaj nową zmienną do określonej pozycji w ramce danych
A C D
1 1 5 2
2 3 3 7
3 6 2 3
4 6 4 8
5 1 1 2
Ktoś ma pomysł?
Mam DF, gdzie chcę dodać nową zmienną o nazwie "B" do drugiej pozycji.Dodaj nową zmienną do określonej pozycji w ramce danych
A C D
1 1 5 2
2 3 3 7
3 6 2 3
4 6 4 8
5 1 1 2
Ktoś ma pomysł?
Najprościej byłoby dodać kolumny, które chcesz, a następnie zmienić ich kolejność:
dat$B <- 1:5
newdat <- dat[, c("A", "B", "C", "D")]
Innym sposobem:
newdat <- cbind(dat[1], B=1:5, dat[,2:3])
Jeśli jesteś zaniepokojony głową, być może rozwiązaniem data.table
? (Z pomocą this answer):
library(data.table)
dattable <- data.table(dat)
dattable[,B:=1:5]
setcolorder(dattable, c("A", "B", "C", "D"))
, ale działałoby to z ogromnym obciążeniem, gdyby ramka danych zawierała setki zmiennych – Diegoal
Tak, dokładnie moja ramka danych jest ogromna i chcę to zrobić . Również moja ramka danych może się zmieniać od czasu do czasu, więc nie chcę odwoływać się do określonej pozycji numerowanej –
Jeśli nie chcesz określonej pozycji numerowanej, skąd wiesz, gdzie ją umieścić? –
dat$B <- 1:5
ind <- c(1:which(names(data) == "A"),ncol(data),(which(names(data) == "A")+1):ncol(data)-1)
data <- data[,ind]
Tworzenie zmiennej w końcu data.frame a następnie przy użyciu wektora wskaźnik sygnalizacyjny jak zmienić kolejność kolumn. ind to po prostu wektor liczb:
'DF $ B <- newvariable'? –
kolejność zmiennych wyglądałaby jak ACD B. Kolejność, którą chcę mieć, to ABCD – Diegoal