【发布时间】:2015-08-23 05:58:30
【问题描述】:
我的 data.frame 的一个名为 services 的列中有以下逗号分隔的数据。
> dput(structure(df$services[1:5]))
list("Global Expense Management, Company Privacy Policy", "Removal Services, Global Expense Management",
"Removal Services, Exception & Cost Admin, Global Cost Estimate, Company Privacy Policy",
"Removal Services, Exception & Cost Admin, Ancillary Services, Global Cost Estimate, Global Expense Management, Perm Storage, Company Privacy Policy",
"Global Expense Management, Company Privacy Policy")
我想将此数据转换为我的数据框中的单独列,如果该行包含服务,则在该服务的列下设置 TRUE。否则,将值设置为 FALSE。
例如,如果我希望我的数据框看起来像这样:
GlobalExpenseManagement | CompanyPrivacyPolicy | etc...
TRUE TRUE
TRUE FALSE
FALSE TRUE
我假设我必须拆分逗号分隔值,将它们分组以删除重复项,然后将它们作为 names(df) 添加到我的数据框中。但是,如果该行包含该服务,我不知道如何迭代数据集并设置真/假。
有没有人认为必须这样做的好主意?
编辑:合并数据
我现在正在尝试将新矩阵与我现有的数据框结合起来,以用新的列对应物替换服务。我已经根据@plafort 在下面的精彩回答进行了尝试:
names(df) <- headnames
rbind(mat, df)
但是,我收到此错误:
名称错误(df)
我也试过这个:
final <- data.frame(cbind(mat, df))
但是,它似乎缺少来自df 的列。如何合并从mat 到df 的列?
【问题讨论】: