【发布时间】:2016-01-16 02:10:33
【问题描述】:
假设我有一些像这样创建的数据
n <- 3
K <- 4
dat <- expand.grid(var1=1:n, var2=1:K)
dat 看起来像这样:
var1 var2
1 1 1
2 2 1
3 3 1
4 1 2
5 2 2
6 3 2
7 1 3
8 2 3
9 3 3
10 1 4
11 2 4
12 3 4
我想同时从列表中的两个数据框中删除一些行。假设我要删除第 11 行,并希望填充“空白”,这样现在第 12 行将成为第 11 行。
我知道这是两个数据框的列表。因此here 的建议不适用,因为dat[[11]]<-NULL 什么都不做,而dat[[2]]<-NULL 将从列表中删除第二个数据框
lapply(dat,"[",11) 允许我访问相关元素,但我不知道如何删除它们。
【问题讨论】:
-
当我输入 typeof(dat) 时,它显示“列表”。上面的代码就是我所拥有的一切。我的环境中没有任何其他数据框。
-
dat[-11,] 删除了一行,但它留下了一个间隙,我们从 10 跳到 12。我需要一个删除行但不留间隙的过程。
-
是的,就是这样!也许我这个问题的标题不准确,因为当我写这个问题时,我误以为 dat 是一个列表。
-
我会检查
str(dat)以了解数据集的结构。如果是list,str(list(dat, dat))
标签: r