cbind() फ़ंक्शन x <- cbind(a,b) के रूप में कार्य करता है

जहां फ़ंक्शन b = get(paste0('var',i)) के लिए कॉलम नाम 'बी' निर्दिष्ट किया जा सकता है,

यानी x <- cbind(a,b = get(paste0('var',i)))

मैं निम्नलिखित करने की कोशिश कर रहा हूँ:

x <- cbind(a, get(paste0('var',i))) = j), जहां "j" एक सदिश या एक फलन हो सकता है।

हालांकि, निम्न त्रुटि मिली: Error: unexpected '=' in "x <- cbind(a, get(paste0('var',i))) = j)"

अगर मैं सिर्फ "x <- cbind(a, get(paste0('var',i))))" निर्दिष्ट करता हूं, तो दूसरा कॉलम नाम "get(paste0('var',i))))" है, जो सुविधाजनक नहीं है।

मैं cbind() या rbind() या bind_cols() के भीतर get(paste()) फ़ंक्शन के साथ कॉलम नामों को कैसे परिभाषित कर सकता हूं? या वैकल्पिक समाधान क्या होगा?

0
Gregory 10 अगस्त 2021, 15:46

2 जवाब

सबसे बढ़िया उत्तर

एक उदाहरण समस्या को समझने में मददगार होता लेकिन शायद यह?

x <- cbind(a, j)
colnames(x)[2] <- get(paste0('var',i))

या यदि आप इसे सिंगल लाइन में करना चाहते हैं -

x <- cbind(a, setNames(j, get(paste0('var',i))))
1
Ronak Shah 10 अगस्त 2021, 16:20

हम इसका उपयोग कर सकते हैं

x <- data.frame(a, j)
colnames(x)[2] <- get(paste('var', i, sep=""))

या tibble का उपयोग करें

tibble(a, !! b := j)
0
akrun 10 अगस्त 2021, 23:03