लिखने के लिए फ़ाइल का उपयोग करते समय लिखी जाने वाली पंक्ति नामों को रोकें


154

आदेश:

t <- data.frame(v = 5:1, v2 = 9:5)
write.csv(t, "t.csv")

परिणाम फ़ाइल:

# "","v","v2"
# "1",5,9
# "2",4,8
# "3",3,7
# "4",2,6
# "5",1,5

मैं फ़ाइल को लिखे जाने से पंक्ति सूचकांक के साथ पहले कॉलम को कैसे रोकूं?

जवाबों:


291
write.csv(t, "t.csv", row.names=FALSE)

से ?write.csv:

row.names: either a logical value indicating whether the row names of
          ‘x’ are to be written along with ‘x’, or a character vector
          of row names to be written.

12
मुझे शर्म आती है क्योंकि मैंने कोशिश की थी!
वाटबाइबरीफ

7
हाँ, चाल यह समझने की है कि यह कॉलम पंक्ति नामों का प्रतिनिधित्व करता है।
वानुअन

शायद किसी को इसका नाम बदलना चाहिए।
Stephanmg

5

पूर्णता के लिए, write_csv()से readrपैकेज तेजी से होता है और पंक्ति नामों को कभी नहीं लिखते

# install.packages('readr', dependencies = TRUE)
library(readr)
write_csv(t, "t.csv")

यदि आपको बड़ा डेटा लिखने की आवश्यकता है, fwrite()तो data.tableपैकेज से उपयोग करें । यह दोनों की तुलना में बहुत तेज है write.csvऔरwrite_csv

# install.packages('data.table')
library(data.table)
fwrite(t, "t.csv")

नीचे एक बेंचमार्क है जिसे एडोर्ड ने अपनी साइट पर प्रकाशित किया है

microbenchmark(write.csv(data, "baseR_file.csv", row.names = F),
               write_csv(data, "readr_file.csv"),
               fwrite(data, "datatable_file.csv"),
               times = 10, unit = "s")

## Unit: seconds
##                                              expr        min         lq       mean     median         uq        max neval
##  write.csv(data, "baseR_file.csv", row.names = F) 13.8066424 13.8248250 13.9118324 13.8776993 13.9269675 14.3241311    10
##                 write_csv(data, "readr_file.csv")  3.6742610  3.7999409  3.8572456  3.8690681  3.8991995  4.0637453    10
##                fwrite(data, "datatable_file.csv")  0.3976728  0.4014872  0.4097876  0.4061506  0.4159007  0.4355469    10
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.