簡體   English   中英

當它有零行和 n() 列時從列表中刪除 tibble

[英]delete tibble from list when it has zero rows and n() columns

所以我有一個腳本,它生成一組列表作為 output。 它第一次在一個包含零行的列表中生成了一個 tibble:

(圖片中的testlist[[2]])

這已經停止了前進的過程。

我發現了幾個關於刪除空 tibble 或類似內容的線程,當它們是與 tibble 或列表相關聯的一些操作時,我試圖提取建議的幾個過濾器部分,僅用於刪除 tibble 部分並且幾個已經運行,但是沒有一個工作。

我想要做的就是從我的列表中刪除任何帶有“0 行”的小標題。 在這種情況下,列表中的 testlist[[2]]。 我知道這必須非常簡單,但我被卡住了。

在此處輸入圖像描述

使用purrr::map_lgl的選項。

library(purrr)

tblList[map_lgl(tblList, ~ nrow(.) != 0)]

# [[1]]
# # A tibble: 1 x 1
#         x
#     <dbl>
#   1     1
# 
# [[2]]
# # A tibble: 1 x 1
#         x
#     <dbl>
#   1     2

數據

tblList <- list(structure(list(x = 1), row.names = c(NA, -1L), class = c("tbl_df", 
"tbl", "data.frame")), structure(list(x = numeric(0)), row.names = integer(0), class = c("tbl_df", 
"tbl", "data.frame")), structure(list(x = 2), row.names = c(NA, 
-1L), class = c("tbl_df", "tbl", "data.frame")))
list_of_mtcars <- list(mtcars[1,], mtcars[1:2,], mtcars[0,]) list_of_mtcars # [[1]] # mpg cyl disp hp drat wt qsec vs am gear carb # Mazda RX4 21 6 160 110 3.9 2.62 16.46 0 1 4 4 # [[2]] # mpg cyl disp hp drat wt qsec vs am gear carb # Mazda RX4 21 6 160 110 3.9 2.620 16.46 0 1 4 4 # Mazda RX4 Wag 21 6 160 110 3.9 2.875 17.02 0 1 4 4 # [[3]] # [1] mpg cyl disp hp drat wt qsec vs am gear carb # <0 rows> (or 0-length row.names) Filter(nrow, list_of_mtcars) # [[1]] # mpg cyl disp hp drat wt qsec vs am gear carb # Mazda RX4 21 6 160 110 3.9 2.62 16.46 0 1 4 4 # [[2]] # mpg cyl disp hp drat wt qsec vs am gear carb # Mazda RX4 21 6 160 110 3.9 2.620 16.46 0 1 4 4 # Mazda RX4 Wag 21 6 160 110 3.9 2.875 17.02 0 1 4 4

keep選項

library(purrr)
keep(testlist, ~ nrow(.x) > 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM