【发布时间】:2020-04-15 00:45:09
【问题描述】:
我有以下名为 stationDF 的数据框。 https://i.stack.imgur.com/Ucph0.png
我还有向量 from_nodes 和 to_nodes、from_nodes <- c(1, 156, 153, 3)、to_nodes <- c(156, 153, 3, 185)。正如您在数据框中看到的,这些 from 和 to 向量对应于我的 stationDF 中的“from”和“to”列。我正在尝试根据这些向量对这个 stationDF 进行子集化。我试过了:
x1 <- stationDF[stationDF$from == from_nodes[1] & stationDF$to == to_nodes[1] |
stationDF$from == to_nodes[1] & stationDF$to == from_nodes[1],]
这是从 1 到 156 或 156 到 1 的所有站的子设置我的数据框。以下是此的输出:https://i.stack.imgur.com/TLqv4.png。
我想对 from 和 to 向量中的其余变量执行此操作,但不是硬编码。例如,
for (i in 1:length(from){
x <- stationDF[stationDF$from == from_nodes[i] & stationDF$to == to_nodes[i] |
stationDF$from == to_nodes[i] & stationDF$to == from_nodes[i],]
}
这显然不会像这样工作,因为它会覆盖以前的迭代,但这是思考过程。我想最终得到四个不同的 stationDF 子集,或者如果四个不能完成,甚至只有一个大的子集。有什么帮助,谢谢。
【问题讨论】:
-
请使用
dput添加数据并显示相同的预期输出。请阅读有关how to ask a good question 的信息以及如何提供reproducible example。