2012-09-29 11 views
8

मैं दो चरित्र वैक्टर लेने के लिए कोशिश कर रहा हूँ के निर्माण के लिए पेस्ट() का उपयोग कर:आर में खिड़कियों पथ

directory <- "specdata" 
id <- 1 

और करने के लिए फ़ाइल की कि वे "बिंदु" से में डेटा को पढ़ने: अर्थात्:

data <- read.table(paste(directory,"\\",id,".csv", sep="") 

समस्या पेस्ट और "\" के परिणामस्वरूप है। मैं इसे "specdata\1.csv" वापस करने की कोशिश कर रहा हूं हालांकि यह "specdata\\1.csv" लौटाता है जो समान नहीं है।

कोई लाभ नहीं हुआ, मैं भी कोशिश की है:

  • एक एकल स्लेश "\"
  • का उपयोग कर '\\'
  • '\'
  • सितम्बर बदलने जैसे एकल उद्धरण का उपयोग कर की तरह एकल उद्धरण का उपयोग कर = '\'
  • बदल रहा sep = '\\'
  • बदलते सीपी = "\"
  • बदलते सितम्बर = "\\"
  • सी() फ़ंक्शन का उपयोग कर
  • पहले की तरह

कोड:

fileNameAndPath <- c(directory,"\",id,".csv") 
data <- read.table(fileNameAndPath) 
+0

आप स्पष्ट '/' जो आर की अनुमति देता है, और आप संयुक्त राष्ट्र को छोड़ना चाहते हैं slashed से बचने के बारे में डर - तो \\ 'वास्तव में \\\\' की जरूरत है। उस ने कहा, 'file.path() 'है * @ आईडीबीबीबी के रूप में जाने का तरीका आपको दिखाता है। –

उत्तर

18

आप file.path बजाय का उपयोग करना चाहिए (यह अपने मंच से स्वतंत्र है):

file.path(directory, paste(id, ".csv", sep="")) 
+0

file.path वह है जिसे मैं ढूंढ रहा था, लेकिन अब आम तौर पर, एक दूसरे ने तीन तारों "हाय" "\" और "माँ" को कैसे जोड़ दिया? क्या स्ट्रिंग के बीच स्लैश डालने का एकमात्र तरीका file.path है? –

+2

ध्यान दें कि 'nchar ("\\") 'अभी भी 1 है, इसलिए यह अलग दिखता है, फिर भी यह वास्तव में एक स्लैश है। – James

+0

धन्यवाद, मैंने अपने प्रश्नों को कोड divs में \ उदाहरणों को प्रदर्शित करने के लिए अद्यतन किया है ताकि मैं यह समझ सकूं कि ... अभी भी सवाल यह है कि पेस्ट काम नहीं करता है क्योंकि मुझे यह उम्मीद है कि –

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