gpt4 book ai didi

r - 将字符串拆分为 R 中的新行

转载 作者:行者123 更新时间:2023-12-03 15:05:45 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Split comma-separated strings in a column into separate rows

(6 个回答)


4年前关闭。




我有一个如下所示的数据集:

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 中的字符串值进行拆分 /上的专栏并为每个条目创建一个新行。

例如,所需的输出将是:
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()我收到以下错误消息。
Error in strsplit(df1$Plant.Item.Code, "/") : non-character argument

最佳答案

试试 cSplit函数(因为您已经在使用 @Anandas 包)。请注意,它会返回 data.table对象,因此请确保安装了此软件包。您可以回复到 data.frame (如果你愿意)通过做类似 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 - 将字符串拆分为 R 中的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25401505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com