Подтвердить что ты не робот

Создайте data.frame с m столбцами и двумя строками

Я хотел бы создать data.frame в R с m (переменным) числом столбцов (например, 30) и двумя строками и заполнить все значения в data.frame изначально с помощью 0. Кажется, что data.frame заполняет значения, основанные на строках, а не столбцы, любые предложения, как я могу это сделать? Спасибо:)

4b9b3361

Ответ 1

Нужно ли m быть data.frame() или будет <<22 > ?

m <- matrix(0, ncol = 30, nrow = 2)

Вы можете обернуть data.frame() вокруг, если вам нужно:

m <- data.frame(m)

или все в одной строке: m <- data.frame(matrix(0, ncol = 30, nrow = 2))

Ответ 2

Для полноты:

В ответ на строки ответа Chase я обычно использую as.data.frame для принуждения матрицы к data.frame:

m <- as.data.frame(matrix(0, ncol = 30, nrow = 2))

EDIT: speed test data.frame vs. as.data.frame

system.time(replicate(10000, data.frame(matrix(0, ncol = 30, nrow = 2))))
   user  system elapsed 
  8.005   0.108   8.165 

system.time(replicate(10000, as.data.frame(matrix(0, ncol = 30, nrow = 2))))
   user  system elapsed 
  3.759   0.048   3.802 

Да, он работает быстрее (примерно в 2 раза).