我正在处理多个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", ...)
我将不胜感激任何帮助!感谢
答案 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", ])