0
我有一个字符串向量,我想从中提取信息。该字符串看起来像以下:从冒号和分号分隔的字符串中提取R
obs, product
1, apple:pink lady;grade 1
2, apple--pink lady
3, orange
我想提取信息和这样的组织:
obs, product_1, product_2, product_3
1, apple, pink lady, grade 1
2, apple, pink lady, NA,
3, orange, NA, NA
我是新来编程,并试图用子(“; * $”,” ',datasetname),它将返回一个新的向量,对于obs 1,我可以得到产品1 & 2合并因此,我需要再做一轮来分离新形成的字符串。但是,对于obs 3(没有任何特殊字符,冒号或分号),该函数将返回整个事物。此外,我还需要考虑一些分隔符可能不同的情况,如“ - ”,而不是冒号和分号。
我想知道如何使用sqldf或R中的其他软件包得到我想要的结果?
可以让'col.names'参数动态与'col.names = paste0( “product_”,1:MAX(sapply(strsplit(DF1 $ product,“[:; - ] +”),length)))' – Benjamin
你能解释一下这些吗?我是新来的。谢谢你的时间。 – Jin
@Zuo我用'gsub'将所有分隔符替换为''',并用'read.csv'读取'product'列来创建三列,然后用第一列'cbind' – akrun