gpt4 book ai didi

r - 根据列表对象中的条件过滤 R 中的列表

转载 作者:行者123 更新时间:2023-12-04 11:55:21 24 4
gpt4 key购买 nike

这是一个微不足道的问题,但我很困惑。如何根据长度过滤数据帧列表?该列表是嵌套的——这意味着存在不同长度的数据帧列表列表。这是一个例子。我想过滤或子集列表以仅包含那些长度为 n 的对象,比如 3。

这是一个例子和我目前的方法。

library(tidyverse)

# list of list with arbitrary lengths

star.wars_ls <- list(starwars[1:5],
list(starwars[1:8], starwars[4:6]),
starwars[1:2],
list(starwars[1:7], starwars[2:6]),
starwars[1:3])


# I want to filter the list by dataframes that are 3 variables long (i.e. length(df == 3).

# Here is my attempt, I'm stuck at how to obtain
# the number of varibles in each dataframe and then filter by it.

map(star.wars_ls, function(x){
map(x, function(x){ ## Incorrectly returns 20 for all
length(y)
})

})

最佳答案

我们可以做到

  map(star.wars_ls, ~ if(is.data.frame(.x)) .x[length(.x) == 3] else map(.x, ~ .x[length(.x) == 3]))

关于r - 根据列表对象中的条件过滤 R 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57511323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com