इस सरल उदाहरण पर विचार करें:mutate_at के साथ नए चर बनाएं मूल लोगों को रखते हुए
library(dplyr)
dataframe <- data_frame(helloo = c(1,2,3,4,5,6),
ooooHH = c(1,1,1,2,2,2),
ahaaa = c(200,400,120,300,100,100))
# A tibble: 6 x 3
helloo ooooHH ahaaa
<dbl> <dbl> <dbl>
1 1 1 200
2 2 1 400
3 3 1 120
4 4 2 300
5 5 2 100
6 6 2 100
यहाँ मैं सभी स्तंभों कि oo
शामिल करने के लिए समारोह ntile
लागू करना चाहते हैं, लेकिन मैं ये नए कॉलम होना चाहते हैं cat
+ संबंधित कॉलम कहा जाता है।
मैं जानता हूँ कि मैं इस
dataframe %>% mutate_at(vars(contains('oo')), .funs = funs(ntile(., 2)))
# A tibble: 6 x 3
helloo ooooHH ahaaa
<int> <int> <dbl>
1 1 1 200
2 1 1 400
3 1 1 120
4 2 2 300
5 2 2 100
6 2 2 100
लेकिन क्या मैं जरूरत है क्या कर सकते हैं इस
# A tibble: 8 x 5
helloo ooooHH ahaaa cat_helloo cat_ooooHH
<dbl> <dbl> <dbl> <int> <int>
1 1 1 200 1 1
2 2 1 400 1 1
3 3 1 120 1 1
4 4 2 300 2 2
5 5 2 100 2 2
6 5 2 100 2 2
7 6 2 100 2 2
8 6 2 100 2 2
वहाँ एक समाधान है कि मध्यवर्ती डाटा स्टोर करने की आवश्यकता नहीं है, और मूल करने के लिए वापस मर्ज है डेटा ढांचा?
मुझे लगता है कि कोई हमेशा 'col_cat' चर के नाम को बदलने के लिए कुछ रेगेक्स सामान लिख सकता है? –
@ ℕʘʘḆḽḘ हाँ। संभवतः सुविधा के लिए 'rename_at' में; संपादन में जोड़ा गया उदाहरण। – aosmith
नामांकन केवल तभी दिखता है जब एक से अधिक कॉलम होते हैं जिसमें एक मैच होता है। क्या यह एक भी मैच के लिए भी संलग्न करने का कोई तरीका है? उदाहरण: 'डेटाफ्रेम%>% mutate_at (vars (include ('ah')), .funs = funs (cat = ntile (।, 2))) – bheavner