R语言 如何从数据中删除所有行,帧?[重复]

bihw5rsg  于 2023-05-04  发布在  其他
关注(0)|答案(1)|浏览(166)

此问题已在此处有答案

Create empty dataframe in R with same columns(3个答案)
8年前关闭。
我有一个数据框,我想删除其中的所有行,同时保留原始结构(列)。

ddf <- data.frame(
  vint1 = c(9L, 9L, 6L, 10L, 7L),
  vint2 = c(10L, 6L, 2L, 6L, 12L),
  vfac1 = factor(c("1", "3", "2", "2", "3")),
  vfac2 = factor(c("3", "4", "2", "4", "2"))
)
ddf
#>   vint1 vint2 vfac1 vfac2
#> 1     9    10     1     3
#> 2     9     6     3     4
#> 3     6     2     2     2
#> 4    10     6     2     4
#> 5     7    12     3     2

我试过:

ddf = NA

for(i in 1:nrow(ddf) ddf[i,] = NULL

但它们不起作用。谢谢你在这个基本问题上的帮助。

doinxwow

doinxwow1#

如果您确实要删除所有行:

> ddf <- ddf[0,]
> ddf
[1] vint1 vint2 vfac1 vfac2
<0 rows> (or 0-length row.names)

如果您的意思是使用占位符保持结构:

> ddf[,]=matrix(ncol=ncol(ddf), rep(NA, prod(dim(ddf))))
> ddf
  vint1 vint2 vfac1 vfac2
1    NA    NA    NA    NA
2    NA    NA    NA    NA
3    NA    NA    NA    NA
4    NA    NA    NA    NA
5    NA    NA    NA    NA

相关问题