अपनी थीसिस के लिए, मैं दो प्रकार के सर्वेक्षणों (ब्रिटिश चुनाव अध्ययन (बीईएस) और ब्रिटिश सामाजिक दृष्टिकोण सर्वेक्षण (बीएसए)) से कई चर का उपयोग करने की कोशिश कर रहा हूं और उन्हें एक डेटासेट में जोड़ रहा हूं। वर्तमान में, मेरे पास दो डेटासेट हैं, एक बीईएस डेटा के साथ, जो इस तरह दिखता है (सरलीकृत संस्करण में):
| year | class | education | gender | age |
| ---- | ----- | --------- | ------ | --- |
| 1992 | working | A-levels | female | 32 |
| 1992 | middle | GCSE | male | 49 |
| 1997 | lower | Undergrad | female | 24 |
| 1997 | middle | GCSE | male | 29 |
बीएसए डेटा इस तरह दिखता है (फिर से, सरलीकृत):
| year | class | education | gender | age |
| ---- | ----- | --------- | ------ | --- |
| 1992 | middle | A-levels | male | 22 |
| 1993 | working | GCSE | female | 45 |
| 1994 | upper | Postgrad | female | 38 |
| 1994 | middle | GCSE | male | 59 |
असल में, मैं जो करने की कोशिश कर रहा हूं वह दोनों को एक डेटाफ्रेम में जोड़ता है जो इस तरह दिखता है:
| year | class | education | gender | age |
| ---- | ----- | --------- | ------ | --- |
| 1992 | working | A-levels | female | 32 |
| 1992 | middle | GCSE | male | 49 |
| 1992 | middle | A-levels | male | 22 |
| 1993 | working | GCSE | female | 45 |
| 1994 | upper | Postgrad | female | 38 |
| 1994 | middle | GCSE | male | 59 |
| 1997 | lower | Undergrad | female | 24 |
| 1997 | middle | GCSE | male | 29 |
मैंने जुड़ने और विलय करने के बारे में बहुत कुछ जाना है, लेकिन मैं इसे सही तरीके से काम करने वाले तरीके से नहीं समझ सकता। जो मैं समझता हूं, मेरा मानना है कि मुझे वर्ष चर "द्वारा" में शामिल होना चाहिए, लेकिन क्या यह सही है? और गणना करने के लिए मैं इसे बहुत अधिक मेमोरी लेने से कैसे रोक सकता हूं (वास्तविक डेटासेट बीईएस के लिए लगभग 30k और बीएसए के लिए 130k हैं)? क्या आर में dplyr या data.tables का उपयोग करके कोई समाधान है?
किसी भी प्रकार की मदद की बेहद सराहना की जाती है!!!
1 उत्तर
यह एक "मर्ज" (या शामिल) ऑपरेशन नहीं है, यह सिर्फ पंक्ति-संयोजन है। R में, यह rbind
के साथ किया जाता है (जो matrix
और data.frame
के लिए अलग-अलग तरीकों से काम करता है)। (परिप्रेक्ष्य के लिए, cbind
भी है, जो कॉलम से जुड़ता है। यहां लागू नहीं है।)
आधार आर
rbind(BES, BSA)
# year class education gender age
# 1 1992 working A-levels female 32
# 2 1992 middle GCSE male 49
# 3 1997 lower Undergrad female 24
# 4 1997 middle GCSE male 29
# 5 1992 middle A-levels male 22
# 6 1993 working GCSE female 45
# 7 1994 upper Postgrad female 38
# 8 1994 middle GCSE male 59
अन्य बोलियाँ
dplyr::bind_rows(BES, BSA)
data.table::rbindlist(list(BES, BSA))