【发布时间】:2020-09-09 20:48:43
【问题描述】:
我有一个非常简单的示例数据框 df_test 作为:
df_test <- data.frame("A" = 1:5)
我想选择包含5的行。我知道我可以通过使用filter()命令来实现它:
df_analysis <- df_test %>%
filter(A == 5)
但是,我想运行一个 for 循环(因为实际的数据集有很多变量并且很复杂),因此我不想手动逐个过滤列,而是运行一个可以选择一个列的 for 循环一次变量并相应地过滤行。对于这个例子,我创建了一个字符向量v 为v = c("A")。
现在过滤,而不是使用列名,当我尝试将此向量索引用作:
df_analysis <- df_test %>%
filter(v[1] == 5)
它产生 0 行而不是 1 行。
如何使用向量索引而不是列索引或名称来过滤行?
谢谢!
【问题讨论】: