我有一个电话数据集(CSV)。它包含几个列,但重要的列是"人员调用"和#34;人称为#34;。数据是所有字符串(名称)。完成的所有工作都是在这两个列数据的字符串上。如例:
Caller Receiver
Alice Mary
Kate Betty
Alice Betty
Mary Kate | Jane
Jane Alice
所需的输出形式是一个人和所做的人的呼叫次数。例如,上面的输出就像:
Caller Receiver CallFreq
Alice Mary 1
Betty 1
Kate Betty 1
Mary Kate 1
Jane 1
Jane Alice 1
此人进行的总呼叫可以包含在上表或另一个表中。
答案 0 :(得分:0)
在这种情况下,tidyr包中的不需要的功能非常有用。
output <-
mydata %>%
group_by(Caller) %>%
summarise(Receiver = paste(unique(Receiver), collapse=' | ')) %>%
mutate(Receiver = strsplit(Receiver, ' \\| ')) %>%
unnest(Receiver) %>%
group_by(Caller) %>%
mutate(CallFreq = 1, TotalCalls = n_distinct(Receiver))
要直接运行上述代码,您需要使用dplyr,magrittr和tidyr软件包。