1.用data.frame()
test=data.frame(col1=character(0),col2=numeric(0),col3=logical(0))#其中character(0),numeric(0),logical(0)定义了对应列的数据类型以及长度为0。如果觉得提前定义类型麻烦,可以先统一定义为一种,之后再转换
str(test)
#'data.frame': 0 obs. of 3 variables:
#$ col1: chr
#$ col2: num
#$ col3: logi
test
#[1] col1 col2 col3
#<0 行> (或0-长度的row.names)
2.先创建矩阵,再转换为数据框
该方法的优势是,当列数很多的时候创建比较方便
test=matrix(data=NA,nrow = 0,ncol = 3)
test=as.data.frame(test)
colnames(test)=c("col1","col2","col3")
test
# [1] col1 col2 col3
# <0 行> (或0-长度的row.names)
str(test)
# 'data.frame': 0 obs. of 3 variables:
# $ col1: logi
# $ col2: logi
# $ col3: logi