2013-03-29 5 views
10

वहाँ एक चर जब एक डेटा फ्रेम (या cbind का उपयोग कर की तरह इसी तरह की परिस्थितियों में) बनाने के एक स्तंभ नाम के रूप में मूल्यांकन के लिए आर में एक तरीका है?data.frame में स्तंभ नाम के रूप में चर मान का उपयोग या cbind

उदाहरण

a <- "mycol"; 
d <- data.frame(a=1:10) 

के लिए यह a बजाय mycol नामित एक स्तंभ के साथ एक डेटा फ्रेम पैदा करता है।

इस मामले में है कि मुझे मेरे कोड से काफी कुछ लाइनों को दूर करने में मदद मिलेगी से कम महत्वपूर्ण है:

a <- "mycol"; 
d <- cbind(some.dataframe, a=some.sequence) 

मेरे वर्तमान कोड है अत्याचार:

names(d)[dim(d)[2]] <- a; 

जो सौंदर्य की दृष्टि से barftastic है।

+1

आप' colnames (घ) [2] <ऐसा नहीं कर सकते A' लेकिन मैं स्पष्ट पूर्व सुरक्षित हो पाते हैं। –

उत्तर

10
> d <- setNames(data.frame(a=1:10), a) 
> d 
    mycol 
1  1 
2  2 
3  3 
4  4 
5  5 
6  6 
7  7 
8  8 
9  9 
10 10 
7

structure(data.frame(1:10),names="mycol") सौंदर्यशास्त्र से आपको प्रसन्न करता है? :-)

+0

मैं upvoters में से एक हूँ, लेकिन मैं यह देखने के लिए उत्सुक था अपने और मेरे जवाब समान होगा, और देखते हैं कि वे 'dput' और' परीक्षण के रूप में identical' उपयोग कर रहे हैं। –

2

सिर्फ निर्माण के बाद colnames का उपयोग करें। A` या यहाँ तक कि `नाम (घ) [2] <- - जैसे

a <- "mycolA" 
b<- "mycolB" 
d <- data.frame(a=1:10, b=rnorm(1:10)) 
colnames(d)<-c(a,b) 
d 
mycolA  mycolB 
1 -1.5873866 
2 -0.4195322 
3 -0.9511075 
4 0.2259858 
5 -0.6619433 
6 3.4669774 
7 0.4087541 
8 -0.3891437 
9 -1.6163175 
10 0.7642909 
संबंधित मुद्दे