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