आर

2013-08-27 6 views
8

में चिपकाएं/संकुचित करें मैं पेस्ट द्वारा उलझन में हूं, और सोचा कि यह सिर्फ सरल संगत था।आर

whales <- c("C","D","C","D","D") 

quails <- c("D","D","D","D","D") 

results <-paste(whales, quails, collapse = '') 

सीडी डीडी सीडी डीडी डीडी के बजाय यह "सी डीडी डीसी डीडी डीडी डी" क्यों वापस आएगा?

इसके अलावा, क्यों करेंगे

results <-paste(whales[1], quails[1], collapse = '') 

वापसी

"सी डी"?

एक स्थान के साथ?

धन्यवाद, डी

संपादित

ठीक है, मुझे लगता है कि

results <-paste(whales, quails, collapse = NULL, sep='') 

मुझे मिल जाएगा कि मैं क्या चाहता हूँ, लेकिन क्यों पिछले कोड काम नहीं किया की एक विवरण? और उत्तरदाताओं को भी धन्यवाद।

+5

क्यों नीचे वोटों के साथ एक शॉर्टकट paste0, जो paste को डिफ़ॉल्ट उपयोग का प्रयास करें? यह एक वैध सवाल है और अच्छी तरह से तैयार है। –

उत्तर

20

पहले प्रश्न के लिए, निम्न कोशिश करें (जो 2 वर्ण दोहराने के लिए चुनने से अधिक स्पष्ट हो सकता है)। जो से संबंधित है

### "Desired" result: 
paste(whales, quails, sep = '', collapse = ' ') 

[1] "CD DD CD DD DD" 

ध्यान दें कि हम विभिन्न मूल्यों के लिए sep और collapse तर्क को निर्दिष्ट कर रहे हैं,:

### Note that R paste's together corresponding elements together... 
paste(c("A", "S", "D", "F"), 
     c("W", "X", "Y", "Z")) 

[1] "A W" "S X" "D Y" "F Z" 

### Note that with collapse, R converts the above 
    # result into a length 1 character vector. 
paste(c("A", "S", "D", "F"), 
     c("W", "X", "Y", "Z"), collapse = '') 

[1] "A WS XD YF Z" 

तुम सच में ऐसा करने के लिए ("वांछित" परिणाम प्राप्त करने के लिए) चाहते हैं क्या पीछा कर रहा है आपका दूसरा सवाल sep प्रत्येक शब्द को एक वर्ण स्ट्रिंग द्वारा अलग करने की अनुमति देता है, जबकि collapse पूरे परिणाम को वर्ण स्ट्रिंग द्वारा अलग करने की अनुमति देता है।

paste(whales, quails, collapse = '', sep = '') 

[1] "CDDDCDDDDD" 

वैकल्पिक रूप से, sep = ''

paste0(whales, quails, collapse = '')