与R编程中的两个数据集进行比较

时间:2014-09-06 16:49:30

标签: r dataset

我有两个文件。一个来自汇款系统。另一个是系统失败的单词。

如何找到包含其中一个“失败”字词的所有记录?

1, ATM, 2000, NY, PASS GENERATED 1000 500 100 100
2, ATM, 800, IL, GENERATED SYSTEM ERROR, 500 XXX
3, CRD,3200, TX, GENERATED SYSTEM PASS
4, WIR, 5000, NJ, GENERATED NETWORK FAILED IP 2093/9384
5, WIR, 3000, CA, GENERATED FATAL ERROR IP3094
6, WIR,4000, NC,GENERATED SUCESS IP093 8309
7, ATM ,1000, SC, SYSTEM PASS 837390 IP AB93
8, TRN, 800, IL, FAILED 9380 38383
9, TRN, 4500, GA, GENERATED PASS 980489

error.words
ERROR
FATAL
FAIL
FAILED
FAILURE

1 个答案:

答案 0 :(得分:0)

不确定预期的结果。可能有帮助:

  dat[grep(paste(error.words, collapse="|"), dat$V5),]

数据

dat <- structure(list(V1 = 1:9, V2 = c(" ATM", " ATM", " CRD", " WIR", 
" WIR", " WIR", " ATM ", " TRN", " TRN"), V3 = c(2000L, 800L, 
3200L, 5000L, 3000L, 4000L, 1000L, 800L, 4500L), V4 = c(" NY", 
" IL", " TX", " NJ", " CA", " NC", " SC", " IL", " GA"), V5 = c(" PASS GENERATED 1000  500 100 100", 
" GENERATED SYSTEM ERROR", " GENERATED SYSTEM PASS", " GENERATED NETWORK FAILED IP 2093/9384", 
" GENERATED FATAL ERROR IP3094", "GENERATED SUCESS IP093 8309", 
" SYSTEM PASS 837390 IP AB93", " FAILED 9380 38383", " GENERATED PASS 980489"
), V6 = c("", " 500 XXX", "", "", "", "", "", "", "")), .Names = c("V1", 
"V2", "V3", "V4", "V5", "V6"), class = "data.frame", row.names = c(NA, 
-9L))

error.words <- c("ERROR", "FATAL", "FAIL", "FAILED", "FAILURE")