अपनी थीसिस के लिए, मैं दो प्रकार के सर्वेक्षणों (ब्रिटिश चुनाव अध्ययन (बीईएस) और ब्रिटिश सामाजिक दृष्टिकोण सर्वेक्षण (बीएसए)) से कई चर का उपयोग करने की कोशिश कर रहा हूं और उन्हें एक डेटासेट में जोड़ रहा हूं। वर्तमान में, मेरे पास दो डेटासेट हैं, एक बीईएस डेटा के साथ, जो इस तरह दिखता है (सरलीकृत संस्करण में):

| 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 का उपयोग करके कोई समाधान है?

किसी भी प्रकार की मदद की बेहद सराहना की जाती है!!!

0
pesolari 24 अगस्त 2021, 18:40

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))
2
r2evans 24 अगस्त 2021, 18:44