我有一长列的两列,其中多行中的每一列都有相同的字符串。因此,我曾经使用paste
串联-
,然后使用setDT
它们的频率返回唯一的concat集。
现在,我想颠倒我的串联。
我试过了:
library(splitstackshape)
d5 <- cSplit(d4, 'conc', '-', 'wide')
但是,在第二列中,有时-
字符串中包含多个。
为了解决这个问题,我希望cSplit仅使用第一个-
定界符。
例子:
conc freq
A-hello 4
A-Hi-there 5
B-HELLO 1
使用上面的cSplit
将返回:
freq conc_001 conc_002 conc_003
4 A hello NA
5 A Hi there
1 B HELLO NA
我想:
freq conc_001 conc_002
4 A hello
5 A Hi-there
1 B HELLO
这是另一个想法,通过使用sub
我们限制它只能更改字符串的第一个指定的分隔符。然后cSplit
,我们使用新的分度计。
library(splitstackshape)
df$conc <- sub('-', ' ', df$conc)
cSplit(df, 'conc', ' ', 'wide')
# freq conc_1 conc_2
#1: 4 A hello
#2: 5 A Hi-there
#3: 1 B HELLO
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句