Я немного догадываюсь о вашей структуре данных, но вы намекнули, что это список числовых векторов.
n_routes <- 5
gc <- replicate(n_routes, runif(30), simplify = FALSE)
names(gc) <- letters[seq_len(n_routes)]
Вы можете преобразовать этот список в вектор с as.data.frame(gc)
, нообратите внимание, что фреймы данных не предназначены для транспонирования (не имеет смысла, если столбцы имеют разные типы.
Это означает, что вам нужно конвертировать в фрейм данных, а затем в матрицу перед транспонированием.
gc2 <- t(as.matrix(as.data.frame(gc)))
Поскольку все ваши столбцы являются числовыми, вы можете оставить их в виде матрицы. Либо снова используйте as.data.frame
, чтобы сделать его фреймом данных.
as.data.frame(gc2)
Какдругие отметили, что length
имеет разные значения для матриц и фреймов данных. Определение фреймов данных - количество столбцов - не является интуитивно понятным и является наследием совместимости S. Вместо этого используйте ncol
, поскольку он дает тот же ответ, но с более читаемым кодом.