में कॉलम प्रति पंक्ति का चयन करने के लिए स्ट्रिंग का उपयोग करें मेरे पास अन्य कॉलम नामों से भरा कॉलम है। मैं प्रत्येक कॉलम नामों में मान प्राप्त करना चाहता हूं।dplyr (या आधार आर)
# three columns with values and one "key" column
library(dplyr)
data = data.frame(
x = runif(10),
y = runif(10),
z = runif(10),
key = sample(c('x', 'y', 'z'), 10, replace=TRUE)
)
# now get the value named in 'key'
data = data %>% mutate(value = VALUE_AT_COLUMN(key))
मैं यकीन है कि इस सवाल का जवाब मे बदलें की आलसी eval संस्करण के साथ कुछ करने के लिए है, लेकिन मैं नहीं मेरे जीवन के लिए यह पता लगा सकते हैं।
किसी भी मदद की सराहना की जाएगी।
आप भी डेटा की कोशिश कर सकते '[सी (" एक्स "," वाई "," Z ")] [cbind (seq_len (Nrow (डेटा)), मैच (डेटा $ कुंजी, नाम (डेटा))) ] 'प्रत्येक पंक्ति से ग्रुपिंग से बचने के लिए (शायद, कम, लागत "मैट्रिक्स" के मध्यवर्ती रूपांतरण की लागत के साथ)। –
@alexis_laz मैं एक अधिक विस्तार योग्य दृष्टिकोण पसंद करूंगा जिसे प्रत्येक कॉलम को सूचीबद्ध करने की आवश्यकता नहीं है। – sharoz
कि आपका कॉलम आदेश दिया जाता है पर निर्भर करता है, वहाँ कई मायनों programmaticaly जरूरत लोगों को निकालने के लिए होना चाहिए, 'डेटा [1: 3]', 'डेटा [अद्वितीय (डेटा $ कुंजी)]', 'डेटा [% में नाम (डेटा)%" कुंजी "!]' आदि –