csv 如何在R中将多个行中的活动组合到一个列表/单元格中?

ocebsuys  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(104)

我需要你的帮助!
现在我有两个 Dataframe /. csv为我们的两个客户(请参考图片enter image description here)与每个动作流。然而,由于我们有许多客户要分析,我想将其转换为一个单独的列表,每行表示一个客户及其行动流程(请参考图enter image description here中的第三个df)。
先谢谢你,马略

rggaifut

rggaifut1#

看看这个

library(dplyr)

p <- 1;
new_col <- c();
for (i in unique(df$Customer_ID)){
  a <- subset(df,df$Customer_ID==i)
  s <- paste(a$action,sep="",collapse = ",") %>% paste("c(",.,")",sep="")
  new_col[p] <- s
  p <- p+1
}

new_df <- cbind(unique(df$Customer_ID),s) %>% as.data.frame()
colnames(new_df) <- c("Customer ID","Actions")

head(new_df)

字符串
因此,假设我们的df名为“df”,其中包含“Customer_ID”和“Actions”。在唯一的Customer_ID值中设置df的子集,然后粘贴该ID的所有操作。

注意需要的输出类应该是一个“list”,但这是一个paste函数,所以可能会出现一个字符串而不是列表。

如果这是一个问题,考虑减去这个“字符”中的每个元素,并将该元素分配给所需列表的任何组件。
将该“字符”保存到一个变量中,比如s,然后将该变量保存到一个名为new_column的向量中。最后,只需将customers ID的唯一值与每个值s相加,并更改其列名。

相关问题