首页 > 解决方案 > 在 dplyr 中使用增量变量名称时出错

问题描述

运行代码时出现以下错误:“错误:列col未知”。

for (col in names(test)) {

final  <-  test  %>% 
  group_by(col, "DT") %>%
  summarise(n = n())  
}

测试数据集如下所示:

在此处输入图像描述

col 应该是 transactionId,然后是 Product,每次我用 DT 创建频率表:transactionId DT, Product DT

谢谢

标签: rfor-loopdplyr

解决方案


通常,最好以长格式获取数据,以避免使用for循环。我们可以使用countwhich 是group_by+的快捷方式summarise

library(dplyr)

test %>%
  mutate_all(as.character) %>%
  tidyr::pivot_longer(cols = -DT) %>%
  count(DT, value)

推荐阅读