我有一个列名列表,例如
names = c("a","b")
我想创建一个空数据框,其列名取自names
,其中1行所有值均为NA
。
"a" "b"
NA NA
我尝试过这样的事情:
d = data.frame()
for(i in seq(1,length(names))) {
d[,toString(names[i])] = NA
}
似乎无法正常工作
答案 0 :(得分:1)
我们可以replicate
length
names
将list
NA设置为list
,将names
的名称设置为data.frame
并转换到data.frame(setNames(rep(list(NA), length(names)), names))
read.csv
或另一个选项是read.csv(text=paste(rep(NA, length(names)), collapse=","),
header=FALSE,col.names = names)
{{1}}
答案 1 :(得分:1)
这也可以:
df <- as.data.frame(matrix(rep(NA, length(names)), nrow=1))
names(df) <- names