datetime - Manipulating dataframe with date time variable in R -
मेरे पास डेटा फ्रेम है
ID DATE TS_EVENT XYZ ID0026A 2013-01-03 2013-01-03 8:31:09 अपराह्न 25 0 0 ID0026A 2013-01-03 2013-01-03 8:31:09 अपराह्न 0 0 0 ID0026A 2013-01-03 2013-01-03 11:22:55 PM 0 0 0 ID0026A 2013-01-03 2013-01-03 11:36:05 अपराह्न 0 0 0 ID0026A 2013-01-03 2013-01-03 11:36:05 अपराह्न 0 0 0 ID0026A 2013-03-27 2013-01-03 11:36:05 PM 100 354 25
अब मैं एक डेटाफ्रेम वापस करना चाहता हूं जिसमें चार कॉलम आईडी, DATE, X, Y और Z होगा। लेकिन कोला "आईडी" में अनन्य आईडी होगा, उस आईडी के लिए तारीख में नवीनतम तारीख होगी और शेष कॉलों में उस विशिष्ट आईडी के लिए नवीनतम समय स्टैम्प (टीएस_एइएनव्हीईएनटी) से संबंधित मूल्य होंगे।
उदाहरण के लिए, ID0026A के लिए इस मामले में डेटाफ्रेम दिखना चाहिए
<प्री> ID DATE XYZ ID0026A 2013-01-03 0 0 0 ID0026A 2013-03-27 100 354 25
<पी > मेरे डेटाफ्रेम में 1.2 मिलीग्राम के रिकॉर्ड और 6000 अद्वितीय ID शामिल हैं नोट: आईडी के str चरित्र है, DATE की संख्या, टीएस_ईईईएनटी का अक्षर चरित्र और बाकी संख्यात्मक है
इसलिए, पहले मैं TS_EVENT को एक तारीख समय ऑब्जेक्ट में बदलना चाहता हूं और फिर आवश्यक डेटाफ्रेम बनाना चाहता हूं।
मैं आर में यह कैसे कर सकता हूं?
के साथ ddply
d $ DATE & lt; - ymd (d $ DATE) d $ TS_EVENT & lt; - ymd_hms (d $ TS_EVENT) plyr :: डीडीपीए (डी,। (आईडी, तारीख), संक्षेप, टीएस = अधिकतम (टीएस_एवीएनटी), तारीख = अधिकतम (DATE), एक्स = पूंछ (एक्स, 1), वाई = पूंछ (वाई, 1), z = पूंछ (जेड, 1)) आईडी तारीख टीएस तारीख xyz 1 ID0026A 2013-01-03 2013-01-03 11:36:05 2013-01-03 0 0 0 2 ID0026A 2013-03-27 2013-01-03 11: 36:05 2013-03-27 100 354 25
साथ ही काम dplyr के साथ
d%।% Dplyr ::: group_by (DATE, आईडी)%।% Dplyr ::: सारांश (टीएस = अधिकतम (TS_EVENT), तारीख = अधिकतम (DATE), एक्स = पूंछ (एक्स, 1), y = पूंछ (वाई, 1), z = ताई एल (जेड, 1)) आईटीआई आईडी की तारीख xyz 1 2013-01-03 ID0026A 2013-01-03 11:36:05 2013-01-03 0 0 2 2 2013-03-27 ID0026A 2013-01-03 11 : 36: 05 2013-03-27 100 354 25
धन्यवाद @ अरन !!
संपादित करें मुझे यह देखना है एक data.table
दृष्टिकोण के साथ मैं ऐसा करने में सक्षम नहीं हूं।
Comments
Post a Comment