我有两个表table1,其中包含文档名称,table2包含文档代码和文档信息。 我想检查table2中的documentnumber是否在table1的名称中,而不是从table2中提取信息到table1。
我想检查table1中的每一行与所有数量的表2
表1:
Documentname
29.01.00-03.001.doc
22.01.01-03.001-B-Offerteproces - procedure.docx
29.01.01-01.001-B-Offerteproces algemeen.docx
29.01.01-01.002-B-Aanbieden - offerteproces.docx
29.01.01-01.002e-B-Quotation process.docx
29.01.01-01.003-B-RFQ announcement - offerteproces.docx
29.01.01-01.004-B-Offerteinformatie complementeren - offerteproces.docx
29.01.01-01.005-B-Offerteplanning - offerteproces.docx
29.01.01-01.006-B-Handover quotation - offerteproces.docx
29.01.01-01.007-B-Elektrisch ontwerp - offerteproces.docx
表2:
Documentnumber new old Status Revision
C-06-100-02-VM 29.04.40-10.002e K-15-0-004.3e Vervallen E
EM-15-0-3.4 29.02.70-07.020.6 KO-03-ES-020.6 Vervallen C
KO-03-E2-020.6 29.02.70-07.020.6 EM-15-0-3.4 Vervallen C
KO-03-TF-43.4 29.02.02-07.043.4 BE-03-IS-10.1 Vervallen A
P-10-001-02-KAM 29.60.01-03.002 TF-00-0-0.9 Vervallen E
29.02.02-07.043.4 29.02.01-00.100.2 KO-03-TF-43.4 Vervallen A
29.04.30-03.003 29.04.30-03.004 BM-06-0-3.1 Vervallen A
29.04.30-03.006 29.04.23-03.003 BM-06-0-3.4 Vervallen A
29.04.30-03.010 29.04.10-03.006 BM-15-0-3.1 Vervallen A
29.04.30-03.016 29.04.30-03.005 BM-04-0-3.2 Vervallen A
29.04.30-03.017 29.04.30-03.005 BM-04-0-3.3 Vervallen A
29.04.30-04.002 29.04.30-04.005 BM-05-0-3.2 Vervallen A
29.04.30-10.001 29.04.23-10.001 BM-01-0-4.1 Vervallen A
29.04.30-10.002 29.04.23-10.002 BM-04-0-4.1 Vervallen A
29.04.30-10.011 29.04.23-10.003 BM-04-0-4.2 Vervallen A
答案 0 :(得分:0)
表1和表2中的数字之间的样本数据不匹配,但这应该有效。
对于Table1的每一行,我检查数字是否在Table2的任何行中,这给了我一个布尔矩阵。如果每行至少有一个TRUE,则表示表2中的表1中的数字,如果每个列至少有一个TRUE,则表示表2中的数字在表1中。我最后将这些结果附加到表格中。
bool_mat <- unlist(sapply(Table2$Documentnumber,grepl,Table1$Documentname)) # each row represents a row from Table1, each col a row from Table2
Table1$number_in_table2 <- apply(bool_mat,1,any)
Table2$number_in_table1 <- apply(bool_mat,2,any)