कॉलम जोड़ना और उनके अंशों को वर्णक्रम में बदलना [डुप्लिकेट]
Dec 02 2020
मेरे पास एक डाटा फ्रेम है जिसे issuesdata
मैंने एक बड़े फ्रेम से बनाया है,clean.data
issue1 <- as.vector(clean.data$issue1) issue2 <- as.vector(clean.data$issue2)
issue3 <- as.vector(clean.data$issue3)
issuesdata <- data.frame(issue1, issue2, issue3)
issuesdata %>% dplyr::slice(10:15)
issue1 issue2 issue3
1 economic <NA> <NA>
2 economic unification <NA>
3 economic <NA> <NA>
4 transportation aviation <NA>
5 justice <NA> <NA>
6 slavery economic humanrights
मेरे दो लक्ष्य हैं:
- इन स्तंभों को एक साथ इस तरह के मर्ज एक चौथे स्तंभ के बाद एक चरित्र स्ट्रिंग में सभी मुद्दों से युक्त है कि वहाँ (स्तंभ नाम:
allissues
) - मुद्दों का पाठ
allissues
वर्णानुक्रम में है
उदाहरण के लिए, पंक्ति 2 पंक्ति allissues
में फॉर्म में economic unification
रहेगी लेकिन एक वर्ण स्ट्रिंग होगी। पंक्ति 4 होगी Aviation Transportation
, जबकि पंक्ति 6 है economic humanrights slavery
।
मैं यह कार्य कैसे करूं?
जवाब
1 RonakShah Dec 02 2020 at 13:01
रॉविएव एनए मूल्यों को गिराते हैं, उन्हें क्रमबद्ध करते हैं और उन्हें एक साथ चिपकाते हैं।
आधार R में:
issuesdata$combine <- apply(issuesdata, 1, function(x)
toString(sort(na.omit(x))))
या साथ dplyr
:
library(dplyr)
issuesdata %>%
rowwise() %>%
mutate(combine = toString(sort(na.omit(c_across()))))
# issue1 issue2 issue3 combine_data
# <chr> <chr> <chr> <chr>
#1 economic NA NA economic
#2 economic unification NA economic, unification
#3 economic NA NA economic
#4 transportation aviation NA aviation, transportation
#5 justice NA NA justice
#6 slavery economic humanrights economic, humanrights, slavery