2013-02-12 21 views
5

में विशिष्ट स्थिति में नया चर जोड़ें जोड़ें मेरे पास एक डीएफ है जहां मैं दूसरी स्थिति में "बी" नामक एक नया चर जोड़ना चाहता हूं।डेटाफ्रेम

A C D 
1 1 5 2 
2 3 3 7 
3 6 2 3 
4 6 4 8 
5 1 1 2 

किसी के पास कोई विचार है?

+0

'डीएफ $ बी <- newvariable'? –

+0

चर के क्रम एसीडी बी की तरह दिखेंगे। ऑर्डर जो मैं चाहता हूं वह है एबीसीडी – Diegoal

उत्तर

7

सबसे आसान तरीका वांछित कॉलम जोड़ने और फिर पुन: व्यवस्थित करने के लिए उन्हें होगा:

dat$B <- 1:5 
newdat <- dat[, c("A", "B", "C", "D")] 

एक और तरीका है:

newdat <- cbind(dat[1], B=1:5, dat[,2:3]) 

आप भूमि के ऊपर, के बारे में चिंतित हैं, तो शायद एक data.table समाधान? (this answer की मदद से):

library(data.table) 
dattable <- data.table(dat) 
dattable[,B:=1:5] 
setcolorder(dattable, c("A", "B", "C", "D")) 
+1

यह काम करेगा, लेकिन डेटाफ्रेम में सैकड़ों चर के – Diegoal

+0

हैं, तो वास्तव में मेरा डेटा फ्रेम बहुत बड़ा है और मैं यह करना चाहता हूं । साथ ही मेरा डेटा फ्रेम समय-समय पर बदल सकता है, इसलिए मैं एक विशिष्ट क्रमांकित स्थिति –

+0

का संदर्भ नहीं देना चाहता हूं यदि आप एक विशिष्ट क्रमांकित स्थिति नहीं चाहते हैं, तो आप कैसे जानते हैं कि इसे कहां रखा जाए? –

0
dat$B <- 1:5 
ind <- c(1:which(names(data) == "A"),ncol(data),(which(names(data) == "A")+1):ncol(data)-1) 
data <- data[,ind] 

data.frame के अंत में चर बनाएं और फिर संकेत कैसे कॉलम को पुन: व्यवस्थित करने के लिए एक संकेत के वेक्टर का उपयोग कर। इंडेक्स संख्याओं का एक वेक्टर है

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