У меня есть вывод из более старого программного обеспечения, которое упаковывает записи для каждой транзакции в несколько строк.Я хочу развернуть эти строки в один плоский кадр данных.Я нашел решения для разворачивания столбцов, но не строк, и могу делать то, что мне нужно в цикле, но вывод велик, и я бы предпочел более быстрое решение, чем цикл.
Пример: я прочитал в R из файла .csv 6 фрагментов информации о каждой из двух транзакций ("tran"), которые заключены в четыре строки.
Следующее представляет и имитирует мои данные, когда я считываю их в R из файла .csv:
V1 <- c("tran1.col1", "tran1.col4","tran2.col1", "tran2.col4")
V2 <- c("tran1.col2", "tran1.col5", "tran2.col2", "tran2.col5")
V3 <- c("tran1.col3", "tran1.col6", "tran2.col3", "tran2.col6")
df <- as.data.frame(matrix(c(V1, V2, V3), ncol = 3))
Я хочу преобразовать вышеприведенное в следующее:
X1 <- c("tran1.col1", "tran2.col1")
X2 <- c("tran1.col2", "tran2.col2")
X3 <- c("tran1.col3", "tran2.col3")
X4 <- c("tran1.col4", "tran2.col4")
X5 <- c("tran1.col5", "tran2.col5")
X6 <- c("tran1.col6", "tran2.col6")
df.x <- as.data.frame(matrix(c(X1, X2, X3, X4, X5, X6), ncol = 6))
Я посмотрел на аккуратные процедуры для сбора и распространения файлов данных, а также для плавления и преобразования в форму, но, насколько я могу судить, мне нужно сначала развернуть строки.