【发布时间】:2019-07-28 20:47:20
【问题描述】:
所有数据结构都是数据帧。 我在 R 中使用 dplyr 语法编写过。 我想用 for 循环替换这段代码。
rbind(
query0226 %>%
filter(t1.cate == tb0226_cate_below_100$Var1[1]) %>% select(t1.query, t1.cate),
query0226 %>%
filter(t1.cate == tb0226_cate_below_100$Var1[2]) %>% select(t1.query, t1.cate),
query0226 %>%
filter(t1.cate == tb0226_cate_below_100$Var1[3]) %>% select(t1.query, t1.cate),
query0226 %>%
filter(t1.cate == tb0226_cate_below_100$Var1[4]) %>% select(t1.query, t1.cate),
query0226 %>%
filter(t1.cate == tb0226_cate_below_100$Var1[5]) %>% select(t1.query, t1.cate),
query0226 %>%
filter(t1.cate == tb0226_cate_below_100$Var1[6]) %>% select(t1.query, t1.cate)
)
所以我写了下面的代码,但它不起作用。 哪一部分错了?
for (i in 1:length(tb0226_cate_below_100$Var1)){
rbind(
query0226 %>%
filter(t1.cate == tb0226_cate_below_100$Var1[i]) %>% select(t1.query, t1.cate)
)
}
【问题讨论】:
-
但是你为什么要这样做呢?也许我错过了重点,但不是要保留
rbinding 的query0226的子集,过滤掉不想保留的条目不是更快(更整洁)吗?这也将消除对这个有点尴尬的for循环的需要。同样,也许我误解了,但这似乎是一种非常不像tidyverse的做事方式。
标签: r loops for-loop filter dplyr