r - 拆分数据框值并放入 R 中的一组?

标签 r dataframe dplyr tidyverse

给定数据框的一列,例如:

df <- structure(list(ingredients = structure(c("en:xylitol", "en:water,en:sugar,en:glucose-fructose-syrup,en:fructose,en:glucose,fr:dioxyde-de-carbone,en:acid,en:citric-acid,en:natural-flavouring,en:flavouring,fr:arome-quinine,fr:quinine", 
"en:sugar,en:corn-syrup,fr:sirop-de-mais-a-teneur-elevee-en-fructose,en:citric-acid,en:natural-and-artificial-flavouring,en:artificial-flavouring,en:natural-flavouring,en:flavouring,en:colour,fr:rouge-40,fr:bleu-1", 
"pt:semoule-de-ble-dur,pt:pesto,pt:basilic,pt:fromage-en-poudre,pt:ail-et-epinars,pt:basilic-contient-du-gluten-et-des-derives-de-lait", 
"pt:pimenta-branca", "en:water,es:pasta-de-almendras-tostadas,en:sugar", 
"en:water,es:zumo-de-chufas,en:sugar,en:dextrose,en:glucose,es:estabilizantes,es:412,es:carragenanos,es:e-407,es:carboximetil-celulosa,es:e-466,es:monodigliceridos-de-acidos-grasos,en:mono-and-diglycerides-of-fatty-acids,en:emulsifier,en:flavouring,en:guar-gum,es:e", 
"es:aceitunas-cacerena,en:water,en:salt,en:stabiliser,es:579,es:categoria,es:i,es:calibre,es:gluconato-ferroso,es:e,es:240,es:260", 
"en:carbonated-water,en:water,en:sugar,en:colour,fr:caramel-e150d,en:natural-flavouring,en:flavouring,en:acid,en:phosphoric-acid,fr:extrait-de-genepi,fr:cafeine", 
"en:pear,en:fruit,es:variedad,es:70-mm,es:conferencia,es:categoria-i,es:calibre,es:65"
), .Dim = c(10L, 1L))), row.names = c(NA, -10L), class = c("tbl_df", 
"tbl", "data.frame"))

我想用“,”分隔符拆分每一行,并将分隔的输出放在一个组中。

例如:

en:water,es:pasta-de-almendras-tostadas,en:sugar 

会变成

group ingredient
1     en:water
1     es:pasta-de-almendras-tostadas
1     en:sugar

接下来就是删除XX:的前缀

请告知如何做到这一点?

最佳答案

添加序列列后,我们可以使用 tidyr 中的 separate_rows

library(tidyr)
library(dplyr)
df %>% 
    mutate(group = row_number()) %>%
    separate_rows(ingredients, sep=",")

关于r - 拆分数据框值并放入 R 中的一组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56991373/

相关文章:

scala - 如何使用 Spark 从 DBFS 目录加载和处理多个 csv 文件

python - 将 Pandas DataFrame 单元格直接导出到 excel/csv (python)

r - 使用 dplyr r 在列中更改值时提取行

排除相同日期的数据框的排名值

r - 多层 ggplot 的自定义图例

r - R 中带有运算符的用户指定函数

python - 如果匹配字符串(不区分大小写),Pandas 删除行

r - tidyr 扩展函数在期望紧凑向量时生成稀疏矩阵

r - 调试 package::function() 尽管使用了惰性求值

r - 编织者忽略了fig.pos?