用定界符分割列后如何在R中操作新列?

时间:2018-12-07 03:56:37

标签: r tidyr delimiter-separated-values

您好,我是Excel用户,并且使用大量数字营销数据。

在Excel中,我们具有“文本到列”功能,其中列由给定的分隔符分隔。

我有一个展示位置名称的模板或格式示例,其中包含广告系列,产品和其他详细信息的简短描述: ProductType_CreativeType_AdSize_Strategy_CreativeName_ProductName_Description

现在,我必须准备一个vlookup表,其中从展示位置名称中提取'strategy'并将其作为单独的列放在相应的展示位置名称旁边。

An example of how the reference sheet should look like

我们使用此参考表在另一个数据集中填充策略列。

我试图在R中自动执行此任务(请耐心等待,我仍在学习R),并成功地用定界符分割了列。

但是,我试图选择结果拆分列并将其保存为新的数据集/数据框,但是新列将被保存为字符向量,而无法将其保存为数据集。

这是我尝试的代码:

df<-df %>% separate(Placement, c("A", "B","C","D","E","F","G","H","I","J","K","L","M","Placement"), sep = "_")

拆分后,我想将列J保存到新的数据集中,但是它保存为字符向量而不是数据集。这是代码。

df2<-df$L

我也尝试过选择功能

df2<-select(df$L)

这给了我以下错误。

  

UseMethod(“ select_”)中的错误:     没有将适用于“ select_”的适用方法应用于“字符”类的对象

如何选择拆分列并将其另存为数据集,因为我必须进行进一步处理。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用for循环将数据帧拆分为原始的多个关闭列。 如果您不确定最初需要哪个,则根据此question它将把每个数据框列拆分为单独的数据框,然后可以删除不需要的

for(i in 1:ncol(df)) {
  temp <- data.frame(df[,i])
  colnames(temp) <- colnames(df)[i]
  assign(colnames(df)[i], temp)
  rm(temp)
}