使用 dplyr 函数迭代字符向量中的值
Iterating over values in character vector with dplyr functions
我有几个变量(在此示例中为 id.type
和 id.subtype
)我想使用 dplyr
包检查 tibble all.snags
中的不同值。我希望对它们进行排序并在控制台中打印出所有值(小标题通常只打印前 10 个)。输出相当于以下代码:
distinct(all.snags,id.type) %>% arrange(id.type) %>% print(n = Inf)
distinct(all.snags,id.subtype) %>% arrange(id.subtype) %>% print(n = Inf)
我认为循环向量中的值会更好,但我无法让它工作。
distinct.vars <- c("id.type","id.subtype")
for (i in distinct.vars) {
distinct(all.snags,distinct.vars[i]) %>%
arrange(distinct.vars[i]) %>%
print(n = Inf)
}
我觉得这个功能就是你想要的:
library(dplyr)
df = iris
print_distinct = function(df, columns) {
for (c in columns) {
print(df %>% distinct_(c) %>% arrange_(c))
}
}
print_distinct(df, c("Sepal.Length", "Sepal.Width"))
我有几个变量(在此示例中为 id.type
和 id.subtype
)我想使用 dplyr
包检查 tibble all.snags
中的不同值。我希望对它们进行排序并在控制台中打印出所有值(小标题通常只打印前 10 个)。输出相当于以下代码:
distinct(all.snags,id.type) %>% arrange(id.type) %>% print(n = Inf)
distinct(all.snags,id.subtype) %>% arrange(id.subtype) %>% print(n = Inf)
我认为循环向量中的值会更好,但我无法让它工作。
distinct.vars <- c("id.type","id.subtype")
for (i in distinct.vars) {
distinct(all.snags,distinct.vars[i]) %>%
arrange(distinct.vars[i]) %>%
print(n = Inf)
}
我觉得这个功能就是你想要的:
library(dplyr)
df = iris
print_distinct = function(df, columns) {
for (c in columns) {
print(df %>% distinct_(c) %>% arrange_(c))
}
}
print_distinct(df, c("Sepal.Length", "Sepal.Width"))