# Load the dplyr package
library(dplyr)
library(purrr)
# Create the example data frame
data <- data.frame(
Name = c("Johny", "Michael"),
Parameter1 = I(list(c(11, 4, 35), c(1, 3, 9)))
)
# Filter the data frame
filtered_data <- data %>%
filter(map_lgl(Parameter1, ~ any(.x > 10)))
3条答案
按热度按时间voj3qocg1#
你可以试试
r9f1avp52#
一种方法可能是这样的:
在这里,我们使用
tidyr::separate_rows
将列表中的所有值放在一行中。然后我们使用readr::parse_number()
检查条件并过滤〉10,最后我们使用toString
获得所需的输出:数据:
vwoqyblh3#
我认为你可以使用**dplyr::filter()函数,结合any()和purrr::map_lgl()**函数。下面是一个可能的解决方案:
在这个解决方案中,我使用了purrr包中的map_lgl()函数来创建一个逻辑向量,指示Parameter1中是否有任何元素大于10。然后使用dplyr包中的filter()函数根据这个逻辑向量过滤 Dataframe 。