r - 根据列值在列表中删除数据框
问题描述
我有以下列表:
df1 <- data.frame(a = rnorm(20), b = 010037)
df2 <- data.frame(a = rnorm(20), b = 010038)
df3 <- data.frame(a = rnorm(20), b = 010039)
df4 <- data.frame(a = rnorm(20), b = 010040)
ls <- list(df1, df2, df3, df4)
我的目标是根据 column 中的值删除选定的数据框b
。
unwanted <- c(010037, 010038)
sapply(ls, "[", "b") %in% unwanted
所以,df1
并且df2
会从 中删除ls
,但我没有运气。请帮忙?
解决方案
这是解决您的问题的另一种方法:
ls[sapply(ls, function(X) !any(X[["b"]] %in% unwanted))]
推荐阅读
- jquery - $_File 在 ajax 中发送时不发送
- python - 哪个是不正确的变量?
- vue.js - 如何修复错误 v-bind 表达式的值不能为空 Vue Js
- javascript - 通过映射的 onPress 事件切换对象属性
- deployment - 部署使用foundation-cli创建的项目?
- html - Internet Explorer 中图像的大小问题
- groovy - “错误:无法找到或加载主类#”同时打开 groovy 控制台
- ios - 在 iOS13 上使用 UINavigationController 作为 UISplitViewController 的子级时未调用 ViewDidLoad 和 WillHideViewController
- lombok - 构造函数上的龙目岛建造者应该只有一个吗?
- java - Android OpenCv:在不重新分配的情况下编辑 ImageView Mat