我正在处理一组非常原始的数据,需要对其进行整理以便于使用。我试图根据分隔符'|'
拆分所选列。
d <- data.frame(id = c(022,565,893,415),
name = c('c|e','m|q','w','w|s|e'),
score = c('e','k|e','e|k|e', 'e|o'))
有没有可能将数据框在某个位置分割,最终呈现如下所示的形式?
df <- data.frame(id = c(22,22,565,565,565,565,893,893,893,415,415,415,415,415,415),
name = c('c','e','m','m','q','q','w','w','w','w','w','s','s','e','e'),
score = c('e','e','k','e','k','e','e','k','e','e','o','e','o','e','o'))
到目前为止,我尝试了各种不同的字符串分割函数,但都没有太大的成功 :(
有人能帮忙吗?
cSplit
:library(splitstackshape); cSplit(cSplit(d, 'name', sep = '|', 'long'), 'score', sep = '|', 'long')
- Jaapcartesian_split()
的函数,可以使用cartesian_split(d, c("name", "score"), "[|]", fixed = FALSE)
进行调用。 - A5C1D2H2I1M1N2O1R2T1