R 分隔两列的相似分隔符
我有一个包含两列的数据,每个单元格中的条目用分隔符分隔。 示例数据如下所示:R 分隔两列的相似分隔符,r,split,delimiter,R,Split,Delimiter,我有一个包含两列的数据,每个单元格中的条目用分隔符分隔。 示例数据如下所示: A|B|C 20|30|40 C|D 20|40 v|M|R|Y 29|23|24|23 C 20 所以我想让它看起来像这样: A 20 B 30 C 40 C 20 D 40 V 29 M 23 R 24 Y 23 C 20 我可以使用cSplit函数根据分隔符对一列进行分隔,但我很难将字母表映射到第二列中相应的数字。 请帮助我找到一种方法,我们可以使用cSplit。它也适
A|B|C 20|30|40
C|D 20|40
v|M|R|Y 29|23|24|23
C 20
所以我想让它看起来像这样:
A 20
B 30
C 40
C 20
D 40
V 29
M 23
R 24
Y 23
C 20
我可以使用cSplit函数
根据分隔符对一列进行分隔,但我很难将字母表映射到第二列中相应的数字。
请帮助我找到一种方法,我们可以使用
cSplit
。它也适用于多列。使用列索引或列的名称
library(splitstackshape)
cSplit(df1, 1:2, "|", "long")
# V1 V2
# 1: A 20
# 2: B 30
# 3: C 40
# 4: C 20
# 5: D 40
# 6: v 29
# 7: M 23
# 8: R 24
# 9: Y 23
#10: C 20
数据
df1我们可以使用cSplit
。它也适用于多列。使用列索引或列的名称
library(splitstackshape)
cSplit(df1, 1:2, "|", "long")
# V1 V2
# 1: A 20
# 2: B 30
# 3: C 40
# 4: C 20
# 5: D 40
# 6: v 29
# 7: M 23
# 8: R 24
# 9: Y 23
#10: C 20
数据
df1仅使用基本R:
# re-create your input data
Input <-
read.table(text=
'A|B|C 20|30|40
C|D 20|40
v|M|R|Y 29|23|24|23
C 20',stringsAsFactors=FALSE,col.names=c('Col1','Col2'))
# let's split...
DF2 <-
data.frame(
Col1=unlist(strsplit(Input$Col1,split='|',fixed=TRUE)),
Col2=unlist(strsplit(Input$Col2,split='|',fixed=TRUE)))
> DF2
Col1 Col2
1 A 20
2 B 30
3 C 40
4 C 20
5 D 40
6 v 29
7 M 23
8 R 24
9 Y 23
10 C 20
#重新创建输入数据
仅使用基本R输入:
# re-create your input data
Input <-
read.table(text=
'A|B|C 20|30|40
C|D 20|40
v|M|R|Y 29|23|24|23
C 20',stringsAsFactors=FALSE,col.names=c('Col1','Col2'))
# let's split...
DF2 <-
data.frame(
Col1=unlist(strsplit(Input$Col1,split='|',fixed=TRUE)),
Col2=unlist(strsplit(Input$Col2,split='|',fixed=TRUE)))
> DF2
Col1 Col2
1 A 20
2 B 30
3 C 40
4 C 20
5 D 40
6 v 29
7 M 23
8 R 24
9 Y 23
10 C 20
#重新创建输入数据
输入谢谢您的帮助,我应该更好地阅读cSplit的帮助文档。谢谢您的帮助,我应该更好地阅读cSplit的帮助文档。谢谢您的替代方法。谢谢您的替代方法。