【发布时间】:2015-05-13 06:45:19
【问题描述】:
我正在寻找一种通过分隔符拆分列内容并将表格转换为长格式的方法。我从splitstackshape 包中找到了cSplit,它几乎可以满足我的要求。
问题现在与drop 选项有关。我希望以某种方式复制我的拆分列,但这不会发生。我做错了吗?有人遇到过这个问题吗?
我不确定我是否做错了什么,但drop = FALSE 选项在我的情况下不起作用。
这是一个例子:
library(splitstackshape)
jnk <- data.table(a = '1,2,3,4,5', b = 5)
jnk
# a b
# 1: 1,2,3,4,5 5
cSplit(jnk, 'a', ',', 'long', drop = FALSE)
# a b
# 1: 1 5
# 2: 2 5
# 3: 3 5
# 4: 4 5
# 5: 5 5
我的预期是这样的:
cSplit(jnk, 'a', ',', 'long', drop = FALSE)
# a b a.orig
# 1: 1 5 1,2,3,4,5
# 2: 2 5 1,2,3,4,5
# 3: 3 5 1,2,3,4,5
# 4: 4 5 1,2,3,4,5
# 5: 5 5 1,2,3,4,5
我使用的是 1.4.2 版
【问题讨论】:
-
如果 df 中有更多行,这肯定不起作用,因为
jnk[['a']]需要具有相同的长度,否则每次都会附加......所以它不适用于 @ 987654328@
标签: r splitstackshape