Мне нужно перенести большой фрейм данных, поэтому я использовал:
df.aree <- t(df.aree)
df.aree <- as.data.frame(df.aree)
Вот что я получаю:
df.aree[c(1:5),c(1:5)]
10428 10760 12148 11865
name M231T3 M961T5 M960T6 M231T19
GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04
GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04
GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04
GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04
Моя проблема - это новые имена столбцов (10428, 10760, 12148, 11865), которые мне нужно удалить, потому что мне нужно использовать первую строку в качестве имен столбцов.
Я пробовал использовать col.names()
функцию, но не получил того, что мне нужно.
Есть ли у вас предложения?
РЕДАКТИРОВАТЬ
Спасибо за предложение !!! Используя его, я получаю:
df.aree[c(1:5),c(1:5)]
M231T3 M961T5 M960T6 M231T19
GS04.A 5.847557e+03 0.000000e+00 3.165891e+04 2.119232e+04
GS16.A 5.248690e+04 4.047780e+03 3.763850e+04 1.187454e+04
GS20.A 5.370910e+03 9.518396e+03 3.552036e+04 1.497956e+04
GS40.A 3.640794e+03 1.084391e+04 4.651735e+04 4.120606e+04
GS44.A 1.225938e+04 2.681887e+03 1.154924e+04 4.202394e+04
Теперь мне нужно преобразовать имена строк (GS ..) в факторный столбец ....
colnames(df.aree)<-df.aree[1,];df.aree<-df.aree[2:nrow(df.aree),]
?t
Фрейм данных также довольно неэффективен. Если можете, используйте матрицу.Ответы:
Лучше не переносить data.frame, пока в нем находится столбец name - все числовые значения будут преобразованы в строки!
Вот решение, которое сохраняет числа как числа:
источник
источник
Вы можете использовать
transpose
функцию изdata.table
библиотеки. Простое и быстрое решение, сохраняющееnumeric
значения какnumeric
.источник
setnames(t_mtcars, rownames(mtcars))
был быdata.table
способ установки имен в таблице data.table (и если бы вы использовалиdata.table
объект, который вы бы не задавалиrownames
)Воспользуйтесь
as.matrix
:источник