如何复制对象的结构(但不是数据)

spe*_*ndo 13 r

如何复制对象的规范,而不是数据?

在我的具体情况下,我有一个数据框,我想要另一个具有相同列类,相同列名,相同行数但内部没有任何数据的数据框.

Ric*_*ton 28

您不能没有数据和相同的行数.如果您不想要数据,请选择第0行.例如,使用cars数据集

cars[0, ]
Run Code Online (Sandbox Code Playgroud)

要么

subset(cars, FALSE)
Run Code Online (Sandbox Code Playgroud)

如果您想要相同的行数,请将数据值设置为NA.

as.data.frame(lapply(cars, function(x) rep.int(NA, length(x))))
Run Code Online (Sandbox Code Playgroud)

或使用dplyr:

library(dplyr)
f <- function(x) NA
cars %>% mutate_all(f)
Run Code Online (Sandbox Code Playgroud)

  • @Markus 尝试`class(cars[0, ])`。这是一个数据框。 (2认同)