本文介绍了将字符串拆分为 R 中的新行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个如下的数据集:
I have a data set like below:
Country Region Molecule Item Code
IND NA PB102 FR206985511
THAI AP PB103 BA-107603 / F000113361 / 107603
LUXE NA PB105 1012701 / SGP-1012701 / F041701000
IND AP PB106 AU206985211 / CA-F206985211
THAI HP PB107 F034702000 / 1010701 / SGP-1010701
BANG NA PB108 F000007970/25781/20009021
我想根据 /
上的 ITEMCODE
列中的字符串值进行拆分,并为每个条目创建一个新行.
I want to split based the string values in ITEMCODE
column on /
and create a new row for each entry.
例如,所需的输出将是:
For instance, the desired output will be:
Country Region Molecule Item.Code
IND NA PB102 FR206985511
THAI AP PB103 BA-107603
THAI AP PB103 F000113361
THAI AP PB103 107603
LUXE NA PB105 1012701
LUXE NA PB105 SGP-1012701
LUXE NA PB105 F041701000
IND AP PB106 AU206985211
IND AP PB106 CA-F206985211
THAI HP PB107 F034702000
THAI HP PB107 1010701
THAI HP PB107 SGP-1010701
BANG NA PB108 F000007970
BANG NA PB108 25781
BANG NA PB108 20009021
我尝试了下面的代码
library(splitstackshape)
df2=concat.split.multiple(df1,"Plant.Item.Code","/", direction="long")
但得到了错误
"Error: memory exhausted (limit reached?)"
当我尝试 strsplit()
时,我收到以下错误消息.
When i tried strsplit()
i got the below error message.
Error in strsplit(df1$Plant.Item.Code, "/") : non-character argument
推荐答案
尝试 cSplit
功能(因为您已经在使用 @Anandas 包).请注意,它会返回一个 data.table
对象,因此请确保您已安装此包.您可以通过执行诸如 setDF(df2)
Try the cSplit
function (as you already using @Anandas package). Note that is will return a data.table
object, so make sure you have this package installed. You can revert back to data.frame
(if you want to) by doing something like setDF(df2)
library(splitstackshape)
df2 <- cSplit(df1, "Item.Code", sep = "/", direction = "long")
df2
# Country Region Molecule Item.Code
# 1: IND NA PB102 FR206985511
# 2: THAI AP PB103 BA-107603
# 3: THAI AP PB103 F000113361
# 4: THAI AP PB103 107603
# 5: LUXE NA PB105 1012701
# 6: LUXE NA PB105 SGP-1012701
# 7: LUXE NA PB105 F041701000
# 8: IND AP PB106 AU206985211
# 9: IND AP PB106 CA-F206985211
# 10: THAI HP PB107 F034702000
# 11: THAI HP PB107 1010701
# 12: THAI HP PB107 SGP-1010701
# 13: BANG NA PB108 F000007970
# 14: BANG NA PB108 25781
# 15: BANG NA PB108 20009021
这篇关于将字符串拆分为 R 中的新行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!