给定数据框的一列,例如:
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/