मिलान के बाद मैं कुछ कोड कृपया @Eric असफल द्वारा दी गई साथ, पंक्तियों को दो डेटा फ्रेम, DF1 और df2 के बीच से मेल को दूर करने में सक्षम हूँ @steveb द्वारा समाधाननिकाला जा रहा है दिन पहले और पंक्ति
df1 %>% filter(! ((date == df2$date) & (ticker == df2$ticker)))
हालांकि, मुझे एहसास हुआ कि मैं इस तरह न केवल साझा पंक्ति को हटाने की जरूरत:
012,351,df1 <- data.frame(ticker = c("MSFT", "MSFT", "MSFT", "MSFT"),
date = c("2016-01-01", "2016-01-02", "2016-01-03", "2016-01-04"), stringsAsFactors=F)
df1
ticker date
1 MSFT 2016-01-01
2 MSFT 2016-01-02
3 MSFT 2016-01-03
4 MSFT 2016-01-04
df2 <- data.frame(ticker = c("AAPL", "GOOG", "MSFT", "FB"),
date = c("2016-01-01", "2016-01-01", "2016-01-02", "2016-01-03"), stringsAsFactors=F)
df2
ticker date
1 AAPL 2016-01-01
2 GOOG 2016-01-01
3 MSFT 2016-01-02
4 FB 2016-01-03
df3
ticker date
1 MSFT 2016-01-01
2 MSFT 2016-01-03
3 MSFT 2016-01-04
लेकिन दिन पहले और दिन के बाद, निर्दिष्ट पंक्ति। तो मेरा अंतिम df होगा:
ticker date
1 MSFT 2016-01-04
सूचना, 3 MSFT 2016-01-02
मैच था, तो उस पंक्ति, हटा दिया जाना चाहिए एक दिन पहले और दिन के बाद, 3 MSFT 2016-01-01
और 3 MSFT 2016-01-03
दो मैचों के साथ उदाहरण के साथ की जरूरत है:
df1 <- data.frame(ticker = c("MSFT", "MSFT", "MSFT", "MSFT"),
date = as.Date(c("2016-01-01", "2016-01-02", "2016-01-03", "2016-01-04")),
stringsAsFactors=F)
df2 <- data.frame(ticker = c("AAPL", "GOOG", "MSFT", "MSFT"),
date = as.Date(c("2016-01-01", "2016-01-01", "2016-01-01","2016-01-02")),
stringsAsFactors=F)
लक्ष्य उत्पादन:
ticker date
4 MSFT 2016-01-04
अत्यंत सुरुचिपूर्ण भर
function(x)
लागू होते हैं। यह आश्चर्यजनक रूप से काम करता है, सिवाय इसके कि जब मुझे दो या दो से अधिक मैच मिलते हैं तो मुझे चेतावनी मिलती है 'चेतावनी संदेश: अनक्लास (ई 1) + अनक्लास (ई 2): लंबी ऑब्जेक्ट लम्बाई छोटी वस्तु लंबाई की एक बहु नहीं है' और केवल अंतिम मैच हटा दिया गया है। मैंने एक लूप बनाने की कोशिश की जो केवल दो मैचों से अधिक है, लेकिन मुझे लगता है कि एक बेहतर तरीका है। मैंने अपने मूल प्रश्न के बजाय एक के बजाय दो मैचों के साथ एक और उदाहरण जोड़ा। – RyGuy@RyGuy कोशिश करें 'df1 [! (% में df1 $ date% (sapply (m $ date, function (x) x + c (-1,0,1))),] ' – rawr
शानदार! धन्यवाद। – RyGuy