2013-08-23 18 views
8

में कॉलम में एकाधिक डेटा फ्रेम में पंक्ति नामों को कनवर्ट करें। मेरे पास .csv फ़ाइलों की एक सूची है जिसे मैंने आर में पढ़ा है और data नामक एक बड़े डेटा फ्रेम में रखा गया है जिसमें 6 डेटा हैं। फ्रेम जो 6 फाइलें हैं filenames में। एक हीडेटा फ्रेम

filenames <- list.files(paste(mainDirInput,sep=""), pattern="Out.*csv", full.names=TRUE) 
data = lapply(filenames, function(f) { 
wb = read.csv(f, header=TRUE) 
}) 

पंक्ति के नाम और प्रत्येक data.frame में स्तंभ नाम वास्तव में कर रहे हैं, मैं आर में पहले स्तंभ एक उदाहरण के रूप में पंक्ति के नाम निकालने और बजाय उन्हें चाहते हैं: मेरी कोड अब तक है अपने डेटा फ्रेम में से एक के इस तरह होगा:

  w x y z 
2012 01  12 43 87 09 
2012 02  14 53 75 76 
2012 03  76 34 76 28 
2012 04  41 36 85 16 
    :   : : : : 
    :   : : : : 

मैं भी अन्य फ़ाइलों पर इस कोड का उपयोग करने में सक्षम होने की जरूरत है, तो मैं नहीं बस सिर्फ मूल्यों के साथ एक नया स्तंभ बना सकते हैं 2012 01, 2012 02, 2012 03...

उत्तर

29

आपको "12, x, y नामक कॉलम के साथ dataframe मिला है , जेड "। बस एक नया कॉलम जोड़ने के लिए

data$names <- rownames(data) 

करें।

+0

धन्यवाद, यह मेरे व्यक्तिगत डेटा.फ्रेम के लिए काम करता है, इसलिए यह काम करता है अगर मैं इसे 'डेटा [[1]] $ नामों पर लागू करता हूं <-rownames (डेटा [[1]])' लेकिन 'डेटा' एक सूची है 6 अलग-अलग डेटा.फ्रेमों में से, मैं आपको जो कुछ दिया है उसके समान कुछ लागू करने का तरीका ढूंढ रहा हूं लेकिन मेरे डेटा के सभी डेटा। डेटा 'डेटा' में। – userk

+1

ओह, यह काम करता है अगर मैं इसे लूप में लागू करता हूं! 'के लिए (के में 1: लंबाई (डेटा)) { डेटा [[के]] $ तारीख <- राउनम्स (डेटा [[के]])} 'आपकी मदद के लिए धन्यवाद – userk