Создайте data.frame с m столбцами и 2 строками - PullRequest
31 голосов
/ 24 мая 2011

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

Ответы [ 2 ]

54 голосов
/ 24 мая 2011

Действительно ли m должно быть data.frame() или достаточно matrix()?

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

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

m <- data.frame(m)

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

31 голосов
/ 24 мая 2011

Для полноты:

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

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

РЕДАКТИРОВАТЬ: speed test data.frame против 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 раза).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...