如何计算向量中的字符串?

zin*_*eda 1 r dplyr

我有一个数据集,如下所示:

df_A <- tribble(
      ~shop_name,      ~id,      
        "A",         "1, 4, 3", 
        "B",         "4, 6",   
        "C",         "3, 5",   
        "D",         "6, 2, 3", 
)
Run Code Online (Sandbox Code Playgroud)

现在,我想按向量中的每个唯一 id 对数据进行分组,然后相应地对它们进行计数。你觉得可行吗?如何操作数据以获得我想要的数据?

desired <- tribble(
  ~id,   ~counted_id,      
  "1",      1, 
  "2",      1,   
  "3",      3,   
  "4",      2, 
  "5",      1,   
  "6",      2, 
)
Run Code Online (Sandbox Code Playgroud)

Stu*_*olf 5

您可以通过在 ", " 和 table 上拆分字符串来完成:

as.data.frame(table(unlist(strsplit(df_A$id,", "))))

  Var1 Freq
1    1    1
2    2    1
3    3    3
4    4    2
5    5    1
6    6    2
Run Code Online (Sandbox Code Playgroud)