我正在寻找一种方法来过滤的基础上,他们的列值dataframes列表。下面是我的实际dataframe的一个小例子:
DF <- data.frame(Company=c('Alpha', 'Alpha', 'Alpha', 'Beta', 'Beta', 'Gamma', 'Gamma'),
Location=c('NY', 'NY', 'CHI', 'LA', 'CHI','LA', 'LA' ),
ID=c('1234', '1234', '1234', '5678', '5678', '2468', '2468'),
Charge=c(25,25,51, 60,60, 15, 15))
我使用了一个split函数来创建一个基于Company的 Dataframe 列表
List<- DF %>% base::split(., .$Company)
我想根据Charge列过滤列表中的 Dataframe 。我只想保留Charge列的总和大于或等于100的 Dataframe 。我使用了这个代码:
Filtered_List <- sapply(List, function(x) sum( x$Charge )>=100)
然而,这段代码并没有过滤,它似乎只是在分配“TRUE/FALSE”值。我认为问题在于我如何使用apply函数,但我可以使用一些输入。谢谢!
1条答案
按热度按时间7vux5j2d1#
使用
sapply()
索引列表:结果: