r - using variable column names in dplyr (do) -
मेरे पास निम्न उदाहरण डेटा है
d.1 = data.frame (id = सी (1,1,2,3,3), दिनांक = सी (2001,2002, 2001, 2001, 003), माप = सी (1: 5)) d.2 = data.frame (आईडी = सी (1 , 2,2,3,3), दिनांक = सी (2001,2002,2003,2002,2008), माप = सी (1: 5)) डी = मर्ज (डी .1, डी .2, सभी = टी, द्वारा = "id")
d.1
और d.2
दो तरह के माप हैं और मुझे प्रत्येक माप में से एक की आवश्यकता है प्रति आईडी
। माप संभव के रूप में एक दूसरे के करीब होना चाहिए। मैं dplyr
द्वारा
की आवश्यकता (dplyr) d = d% & gt;% group_by (id)% & gt;% ((which.min) के साथ ऐसा कर सकते हैं (एब (। $ Date.x - $ date.y)),])
सवाल है कि मैं कैसे dplyr
का उपयोग कर सकता हूं अगर दिनांक कॉलम जैसे name.x = "date.x"
और name.y = "date.y"
की तरह एक चर में सहेजा जाता है क्योंकि मैं
... do (। [Which.min (abs (। [, Name.x] - [।, Name.y])),]) ....
मैंने eval
, as.symbol
ans सामान का उपयोग करते हुए एनाएथर समाधान खोजने की कोशिश की लेकिन मैं एक समाधान नहीं समझ पाया ...
डी $ date.x
एक वेक्टर देता है जबकि d [, नाम। X]
एक data.frame देता है, जो आपके फ़ंक्शन के अंदर पारित होने पर काम नहीं करता। तो बस इस कॉलम को आप d [[name.x]]
पर पहुंचने के तरीके को बदल सकते हैं और यह काम करेगा:
d%>% group_by (id)% & Gt;% do (। [Which.min (abs (। [[Name.x]] - [[name.y]]),]]
Comments
Post a Comment