Создать пустой фрейм данных с именами столбцов, назначив вектор строки?
1. создать пустой фрейм данных
y <- data.frame()
2.assign x, вектор строки, y в качестве имен столбцов
x <- c("name", "age", "gender")
colnames(y) <- x
Результат:
Error in `colnames<-`(`*tmp*`, value = c("name", "age", "gender")) :
'names' attribute [3] must be the same length as the vector [0]
Фактически длина x динамическая, поэтому
y <- data.frame(name=character(), age=numeric(), gender=logical())
не является эффективным способом для обозначения столбца. Как я могу решить проблему? ТНХ
Ответы
Ответ 1
Как насчет,
df <- data.frame(matrix(ncol = 3, nrow = 0))
x <- c("name", "age", "gender")
colnames(df) <- x
Чтобы выполнить все эти операции в одном слое
setNames(data.frame(matrix(ncol = 3, nrow = 0)), c("name", "age", "gender"))
#[1] name age gender
#<0 rows> (or 0-length row.names)