[英]Deleting multiple rows in different data sets in R
我正在使用多個data.frames
,當我想刪除所有data.frames
特定行時遇到了問題。 我的問題類似於此處發布的問題 ,但是我無法使其在行上起作用:
lst <- list(dat1,dat2)
lapply(lst,`[`, !="A", TRUE)
假設我的表看起來像這樣,並且有多個行名,那么就不可能通過c("B", "C","D", ...)
來提取除A以外的所有內容:
| | 1 | 2 | 3 |
|---|---|---|---|
| A | | | |
| B | | | |
| A | | | |
| | 1 | 2 | 3 |
|---|---|---|---|
| C | | | |
| A | | | |
| A | | | |
我將不勝感激! 謝謝
如果要在*apply
調用中使用更復雜的函數,則使用匿名函數通常非常有用,甚至有必要。 好處是您可以構建應該應用於每個列表元素(在此為data.frames)的函數,就像在單個data.frame的情況下那樣。
如果您想按行名對常規data.frame的行進行子集化,則可以使用類似
mtcars[rownames(mtcars) != "Mazda RX4", ]
在您的lapply
調用中,您將使用匿名函數以相同的方式進行操作,其中x
表示每個列表元素:
lapply(lst, function(x) x[rownames(x) != "A", ])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.