2015-07-27 3 views
1

Я уверен, что есть простой способ достичь этого, но я не могу прийти к одному на основе существующих вопросов. У меня есть матрица, в которой, хотя команда View выводит функцию, похожую на dataframe, структура отличается. Он состоит из серии списков со всеми значениями, которые распознаются внутри этого как отдельное числовое значение.Преобразование большой матрицы в dataframe

Некоторые примеры данных, где выводятся эти данные:

set.seed(24) 
df1 <- as.data.frame(matrix(sample(0:20, 500*500, replace=TRUE), ncol=500)) 
colsums <- as.data.frame(t(colSums(df1))) 
matrix <- matrix(colsums, nrow=2) 
str(matrix) 

Я попытался as.data.frame и melt функции, но они не похоже, чтобы помочь этой проблемы.

+1

Итак, какой будет ваш желаемый результат? 'data.frame' с 500 столбцами? –

+0

Пожалуйста, предоставьте минимальные данные игрушек, чем 'sample (0:20, 500 * 500, replace = TRUE)' – Henrik

+0

В этом случае используется кадр данных с 250 столбцами и 2 строками. Каждый столбец является переменной. Так, например, если бы я хотел выбрать первые 5 значений верхней строки ... матрицы [1,1: 5], он выдавал бы 5005, 4867, 4858, 5052, 4678 в качестве кадра данных. –

ответ

2

Один из вариантов заключается в том, чтобы отменить все это и преобразовать в двухрядную матрицу, а затем преобразовать в класс data.frame, например.

df <- as.data.frame(matrix(unlist(matrix), nrow = 2)) 
Смежные вопросы