r - 如何根据列表过滤数据框的列?
问题描述
例如,我有一个数据框df1
,我将它分成 5 个部分,如z
set.seed(123)
df1 <- data.frame(x = c("A","C","B","D","E","F","G","H","L","K","P","T") ,y = runif(12))
df1
p <- 5
n <- nrow(df1)
z <- split(df1, cummax(as.numeric(gl(p, n%/%p, n))))
我还有其他数据框df2
:
df2 <- data.frame(
emp_name = c("A","B","C","D","E"),
salary = c(623.3,515.2,611.0,729.0,843.25))
现在我想df2$emp_name
根据x
. z
例如,我想df2$emp_name
根据 x 值进行过滤z[["1"]]
如果z
是一个数据框,我知道我可以使用filter <- subset(df2, emp_name %in% z$x)
,但我不知道如何z
使用列表而不是数据框。
感谢并感谢您的回复。
解决方案
实际上,这是一个答案,但并不酷
library(dplyr)
for(vi in 1:length(z)){
print(subset(df2, df2$emp_name %in% z[[vi]]$x))
}
如果您想获得所有结果,请创建一个空列表
推荐阅读
- google-app-engine - go112标准运行时中appengine任务队列的正确上下文是什么
- javascript - 带有必填字段的 Onclick 表单?
- windows - 如何在命令提示符下更改我的 Windows 显示用户名?
- python - 与 MySQL dB 的 SSL 连接失败
- c++ - 如何使用 libtensorflow-core.a 构建静态库以及如何使用它?
- google-sheets - 如何自动将公式添加到我的 Google 工作表的其他行?
- python - 为什么我会收到错误消息“没有名为...的模块”
- c# - 如何在 Winforms 中创建只有 exe 而没有依赖项的安装程序?
- php - 我的网站缓存没有更新。它一直显示旧版本
- syntax-error - 错误消息 - 初始化列表时出现“需要右括号”