删除R中不同数据集中的多个行

时间:2016-01-29 15:25:46

标签: r

我正在处理多个object aaData:Array[2] [0]:object id: "-" kode: "Pl001" date: "01/01/2015" name: "test1" total: "$12" payment: "credit" [1]:object id: "-" kode: "Pl002" date: "01/02/2015" name: "test2" total: "$3" payment: "credit" ,当我想要删除所有data.frames中的特定行时,我遇到了问题。我的问题类似于发布的问题here,但我不能让它在行上运行:

data.frames

假设我的表看起来像这样,并且有多个行名称,因此除{A} lst <- list(dat1,dat2) lapply(lst,`[`, !="A", TRUE) 之外不能提取除A之外的所有行:

c("B", "C","D", ...)

我将不胜感激任何帮助!感谢

1 个答案:

答案 0 :(得分:2)

如果您想在*apply调用中使用更复杂的函数,则使用匿名函数通常很有用甚至是必需的。优点是您可以构建应该应用于每个列表元素(此处为data.frames)的函数,就像在单个data.frame的情况下那样。

如果您希望通过rownames对常规data.frame的行进行子集化,则可以使用类似

的内容
mtcars[rownames(mtcars) != "Mazda RX4", ]

lapply调用中,您将使用匿名函数以相同的方式执行此操作,其中x表示每个列表元素:

lapply(lst, function(x) x[rownames(x) != "A", ])