首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中重构数据

在R中重构数据
EN

Stack Overflow用户
提问于 2020-11-18 16:54:23
回答 2查看 64关注 0票数 0

我正在尝试将我的数据重新建模为以下内容(从左到右):

以下是可重复的初始数据:

代码语言:javascript
运行
复制
  df <- data.frame(tag=c("tech","tech","tech","tech","distribution","fooddrinks","industry","conseil","tech","tech","conseil","fooddrinks","tech","conseil","conseil","conseil","conseil"),
                     company_name=c("360Learning","365Talents","3DS OUTSCALE","4D SAS","77 Foods","77 Foods","77 Foods","8pourcent","8SEC","Compte Pour Moi","Compte Pour Moi","AB InBev Europe","AB Tasty","AB Tasty","ABBD","Abbeal","ABC arbitrage"),
    company_link=c("/fr/companies/360learning",  "/fr/companies/365talents",  "/fr/companies/3dsoutscale",  "/fr/companies/4d",  "/fr/companies/77-foods",  "/fr/companies/77-foods",  "/fr/companies/77-foods",  "/fr/companies/8pourcent",  "/fr/companies/8sec",  "/fr/companies/ca-compte-pour-moi",  "/fr/companies/ca-compte-pour-moi",  "/fr/companies/abinbev",
      "/fr/companies/ab-tasty",  "/fr/companies/ab-tasty",  "/fr/companies/abbd",  "/fr/companies/abbeal",  "/fr/companies/abc-arbitrage"))

我尝试过以下函数:stats::reshapedata.table::dcasttidyr::spread,但我无法找到正确的使用方法,也不知道它们是否是正确的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-18 17:02:25

您并没有真正尝试重新设计(这将根据行的内容添加列),在这里,您只想为每个summarize添加tag值。因此,使用dplyr可以很容易地做到这一点。

代码语言:javascript
运行
复制
library(dplyr)
df %>%
  group_by(company_name, company_link) %>%
  summarize(tag = paste(tag, collapse = ", "))
票数 2
EN

Stack Overflow用户

发布于 2020-11-20 06:20:23

在使用data.table时,您还可以按照以下方式解决问题:

代码语言:javascript
运行
复制
library(data.table)

setDT(df)[, .(tag = toString(tag), company_link = company_link[1]), by = company_name]

#        company_name                                tag                     company_link
#  1:     360Learning                               tech        /fr/companies/360learning
#  2:      365Talents                               tech         /fr/companies/365talents
#  3:    3DS OUTSCALE                               tech        /fr/companies/3dsoutscale
#  4:          4D SAS                               tech                 /fr/companies/4d
#  5:        77 Foods distribution, fooddrinks, industry           /fr/companies/77-foods
#  6:       8pourcent                            conseil          /fr/companies/8pourcent
#  7:            8SEC                               tech               /fr/companies/8sec
#  8: Compte Pour Moi                      tech, conseil /fr/companies/ca-compte-pour-moi
#  9: AB InBev Europe                         fooddrinks            /fr/companies/abinbev
# 10:        AB Tasty                      tech, conseil           /fr/companies/ab-tasty
# 11:            ABBD                            conseil               /fr/companies/abbd
# 12:          Abbeal                            conseil             /fr/companies/abbeal
# 13:   ABC arbitrage                            conseil      /fr/companies/abc-arbitrage
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64897636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档