저는 R에 특히 익숙하며 특히 data.table
에 익숙합니다. 다음과 같이 붙어 있습니다.두 번째 data.table에 기초한 필터링은 다음과 같은 명령을 사용하여 필터링합니다.
"Canteen"및 "Saladconsumer"와 같이 2 개의 데이터 테이블이 있습니다. data.table "Canteen"에는 모든 사람의 ID, 날짜, 시간 및 구입 항목이 포함되어 있습니다.
두 번째 data.table "Saladconsumer"는 샐러드를 구입 한 사람의 ID, 날짜 및 시간을 포함하며 기본적으로 "캔틴"의 하위 집합입니다.
이제 "샐러드 캔더"를 "캔틴"으로 필터링하여 그 날 샐러드를 사 먹은 사람들을 만나서 매점에서 다른 구매를 한 것입니다. 따라서 필터링에는 부정합이 포함되어야합니다 : Canteen[, ID]==Saladconsumer[, ID] & Canteen[, date]==Saladconsumer[, date] & Canteen[, time]!=Saladconsumer[, time]
.
모든 기준이 동일하면 겹치기 및 병합/결합에 대한 예제 만 있습니다. ... 너무 단순 해 보이지만 난 그냥 내 실수가 무엇인지 알아낼 수 없습니다
NewDT<- Canteen[, Canteen[, ID ] == Saladconsumer [, ID ] & Canteen[, date ] == Saladconsumer[, date ] & Canteen[, time ] == Saladconsumer [, time ]]
이 어떤 데이터가 보이는 어떤 결과가 내가 찾고 :
Canteen
ID Date Time
00b47c5d83a5490e860086eb080f1f50 26.06.14 12:36:29
00b47c898875483fb9fa0113d334e500 06.01.14 16:28:56
00b4cb6c666e2b8152174479545fcef2 29.10.14 12:57:16
00b4cb6c666e2b8152174479545fcef2 29.10.14 17:20:07
00b64cef0230b7480fc96dfcad9b8394 07.05.14 11:43:34
00b8b859987af5c89d90130d1206c579 03.01.14 13:35:15
0205996c0139e0b909903c2ebacb5a77 07.01.14 14:48:13
0205d25db373084f9bf8d431db8d3f9c 07.01.14 09:10:27
0205d25db373084f9bf8d431db8d3f9c 07.01.14 13:48:21
0208cfa78e51231cf30842ea0f8abdf4 10.04.14 10:06:43
Salad consumer
ID Date Time
00b4cb6c666e2b8152174479545fcef2 29.10.14 12:57:16
0205d25db373084f9bf8d431db8d3f9c 07.01.14 13:48:21
020e53bd2076a9db4c9770662793602b 04.02.14 10:38:41
020ed0685aa70b543981cbb6a7f0c737 16.01.14 15:40:02
020aa996e0f4b6e886a82ce83d406e92 23.01.14 14:23:43
020ac1d718ff47f5aaa2d684434bae93 30.06.14 13:47:45
020b20874ae29027ddac149ab3d5a395 09.04.14 09:34:32
Results
ID Date Time
00b4cb6c666e2b8152174479545fcef2 29.10.14 17:20:07
0205d25db373084f9bf8d431db8d3f9c 07.01.14 09:10:27
아니, 그런 병합 명령이 없습니다. 모든 열을 병합하고 1/0 열을 만들어 일치하는 항목을 표시 한 다음 반대쪽으로 필터링 할 수 있습니다. 분명히, 당신이 예제를 제공하지 않았기 때문에 나는 막연한 용어로 만 설명 할 수 있습니다. http://stackoverflow.com/help/how-to-ask – Frank