使用R为每个id的列中的每个单元格创建逗号分隔的字符值
我有两列ID和Product:使用R为每个id的列中的每个单元格创建逗号分隔的字符值,r,data-manipulation,R,Data Manipulation,我有两列ID和Product: ID Product A Clothing B Food A Food A Furniture C Food B Clothing 如何使用R创建一个数据框,其中每个ID的产品以逗号分隔,如下所示: ID Product A Clothing, Food, Furniture B Food, Clothing C Food, Clothing 我们可以使用其中一个GROUPBY函数。使用data.table,我们将“da
ID Product
A Clothing
B Food
A Food
A Furniture
C Food
B Clothing
如何使用R创建一个数据框,其中每个ID的产品以逗号分隔,如下所示:
ID Product
A Clothing, Food, Furniture
B Food, Clothing
C Food, Clothing
我们可以使用其中一个GROUPBY函数。使用
data.table
,我们将“data.frame”转换为“data.table”(setDT(df1)
),按“ID”分组,我们将“Product”的元素粘贴在一起。toString
是粘贴(,,collapse=,')
的包装器
与dplyr
类似的选项是
library(dplyr
df1 %>%
group_by(ID) %>%
summarise(Product= toString(Product))
或者我们可以从base R
aggregate(Product~ID, df1, FUN=toString)
# ID Product
# 1 A Clothing, Food, Furniture
# 2 B Food, Clothing
# 3 C Food
我们可以使用其中一个GROUPBY函数。使用data.table
,我们将“data.frame”转换为“data.table”(setDT(df1)
),按“ID”分组,我们将“Product”的元素粘贴在一起。toString
是粘贴(,,collapse=,')
的包装器
与dplyr
类似的选项是
library(dplyr
df1 %>%
group_by(ID) %>%
summarise(Product= toString(Product))
或者我们可以从base R
aggregate(Product~ID, df1, FUN=toString)
# ID Product
# 1 A Clothing, Food, Furniture
# 2 B Food, Clothing
# 3 C Food
对于“ID”C,示例中没有“衣服”。对于“ID”C,示例中没有“衣服”。谢谢。这三种方法都很好,但给我留下了另一个挑战。每个ID都有重复的产品值。如何消除它们,请参见以下内容:ID产品A服装、服装食品、家具、家具B食品、食品、食品、服装C食品、服装、,Clothing@Madhumita请用代码检查编辑的注释。我想它应该能解决这个问题。在提出这个评论之前,我尝试过独特。它不起作用。我对你的答案投了赞成票。@Madhumita你能用这个例子更新你的帖子吗。从评论中复制/粘贴示例很困难。我将把它作为一个单独的问题。无法在90分钟内发布问题。你帮了大忙。再次感谢,谢谢。这三种方法都很好,但给我留下了另一个挑战。每个ID都有重复的产品值。如何消除它们,请参见以下内容:ID产品A服装、服装食品、家具、家具B食品、食品、食品、服装C食品、服装、,Clothing@Madhumita请用代码检查编辑的注释。我想它应该能解决这个问题。在提出这个评论之前,我尝试过独特。它不起作用。我对你的答案投了赞成票。@Madhumita你能用这个例子更新你的帖子吗。从评论中复制/粘贴示例很困难。我将把它作为一个单独的问题。无法在90分钟内发布问题。你帮了大忙。再次感谢。