R 我想把“中的所有值”;事件“ID”;以单独列的形式显示与“;电子邮件“U ID”;
电子邮件Id具有重复值,并且对应于存在唯一事件Id。我想在表中对其进行转换,以便每个电子邮件id的所有事件id都应在不同的列中列出 我们从一个包含两个字段的数据集开始,即电子邮件和事件:R 我想把“中的所有值”;事件“ID”;以单独列的形式显示与“;电子邮件“U ID”;,r,dplyr,tidyr,R,Dplyr,Tidyr,电子邮件Id具有重复值,并且对应于存在唯一事件Id。我想在表中对其进行转换,以便每个电子邮件id的所有事件id都应在不同的列中列出 我们从一个包含两个字段的数据集开始,即电子邮件和事件: email <- c("john.doe@mysite.com", "jane.doe@mysite.com") event <- c("event1", "event2", "event3", "event4") df <- as.data.frame(cbind(email, even
email <- c("john.doe@mysite.com", "jane.doe@mysite.com")
event <- c("event1", "event2", "event3", "event4")
df <- as.data.frame(cbind(email, event), stringsAsFactors = F)
df
email event
1 john.doe@mysite.com event1
2 jane.doe@mysite.com event2
3 john.doe@mysite.com event3
4 jane.doe@mysite.com event4
电子邮件如果您愿意,也可以使用tidyr
完成此操作:
email <- c("john.doe@mysite.com", "jane.doe@mysite.com")
event <- c("event1", "event2", "event3", "event4")
df <- as.data.frame(cbind(email, event), stringsAsFactors = F)
library(tidyr)
df <- df %>%
spread(event, event)
df
电子邮件请提供一些示例数据和一些您试图解决问题的代码。谢谢,这真的很有帮助。
df.new[1,]
email event1 event2 event3 event4
1 jane.doe@mysite.com <NA> event2 <NA> event4
df.new[2,]
email event1 event2 event3 event4
2 john.doe@mysite.com event1 <NA> event3 <NA>
email <- c("john.doe@mysite.com", "jane.doe@mysite.com")
event <- c("event1", "event2", "event3", "event4")
df <- as.data.frame(cbind(email, event), stringsAsFactors = F)
library(tidyr)
df <- df %>%
spread(event, event)
df
email event1 event2 event3 event4
1 jane.doe@mysite.com <NA> event2 <NA> event4
2 john.doe@mysite.com event1 <NA> event3 <NA>