2015-01-18 37 views
8

plyr::mapvalues साथ mapvalues ​​इस तरह इस्तेमाल किया जा सकता:का उपयोग plyr :: dplyr

mapvalues(mtcars$cyl, c(4, 6, 8), c("a", "b", "c")) 

लेकिन यह काम नहीं करता:

mtcars %>% 
dplyr::select(cyl) %>% 
mapvalues(c(4, 6, 8), c("a", "b", "c")) %>% 
as.data.frame() 

मैं dplyr साथ plyr::mapvalues का उपयोग कैसे कर सकते हैं? या इससे भी बेहतर, dplyr समकक्ष क्या है?

+1

'mtcars%>% select (cyl)%>%। $ Cyl%>% plyr :: mapvalues ​​(c (4,6,8), c ('a', 'b', 'c') आज़माएं)%>% as.data.frame() ' – akrun

+4

या' mtcars%>% mutate (x = mapvalues ​​(cyl, c (4, 6, 8), c ("a", "b", "c")))%>% का चयन करें (x) ' –

+0

यह काम करता है। '$ Cyl' क्या करता है? – luciano

उत्तर

8

इसका इस्तेमाल और एक एक-स्तंभ data.frame लौटने के लिए:

mtcars %>% 
    transmute(cyl = plyr::mapvalues(cyl, c(4, 6, 8), c("a", "b", "c"))) 

या pull यदि आप एक ही वेक्टर उत्पादन, अपने काम उदाहरण की तरह चाहते हैं, का उपयोग करें:

mtcars %>% 
    pull(cyl) %>% 
    plyr::mapvalues(., c(4, 6, 8), c("a", "b", "c")) 

हैं आप दोनों dplyr और plyr दोनों का उपयोग कर रहे हैं, इस नोट को dplyr readme से देखें:

आपको होने की आवश्यकता होगी थोड़ी सावधानी बरतें यदि आप एक ही समय में पर दोनों प्लीयर और dplyr लोड करते हैं। मैं पहले प्लीयर लोड करने की सिफारिश करता हूं, फिर dplyr, ताकि तेजी से dplyr फ़ंक्शंस खोज पथ में पहले आते हैं। द्वारा और बड़े, दोनों dplyr और plyr द्वारा प्रदान किए गए किसी भी फ़ंक्शन को समान तरीके से काम करता है, हालांकि dplyr फ़ंक्शंस तेज़ और अधिक सामान्य होते हैं।

हालांकि ध्यान दें कि आप mapvaluesplyr::mapvalues का उपयोग कर कॉल कर सकते हैं dplyr plyr लोड करने के लिए की जरूरत के बिना भरी हुई है।

संबंधित मुद्दे