2012-09-29 26 views
8

Tôi cố gắng để mất hai vectơ nhân vật:sử dụng dán() để xây dựng con đường cửa sổ trong R

directory <- "specdata" 
id <- 1 

và đọc dữ liệu từ các tập tin mà họ sẽ "điểm" để: ví dụ:

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

Sự cố là do dán và "\". Tôi đang cố gắng làm cho nó trở lại "specdata\1.csv" tuy nhiên nó trả về "specdata\\1.csv" không giống nhau.

Để không có kết quả, tôi cũng đã cố gắng:

  • sử dụng một đơn slash "\"
  • sử dụng dấu nháy đơn như '\\'
  • sử dụng dấu nháy đơn như '\'
  • thay đổi Tháng Chín = '\'
  • thay đổi sep = '\\'
  • thay đổi sep = "\"
  • thay đổi Tháng Chín = "\\"
  • sử dụng c() chức năng đầu tiên như

mã:

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

Bạn đã bỏ lỡ hiển thị '/' mà R cho phép và bạn muốn bỏ hiểu về việc thoát khỏi bị cắt - vì vậy '\\' thực sự cần '\\\\'. Điều đó nói rằng, 'file.path()' là * cách * để đi như @sgibb cho bạn thấy. –

Trả lời

18

Bạn nên sử dụng file.path thay vì (nó không phụ thuộc vào nền tảng của bạn):

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

file.path là những gì tôi đang tìm kiếm, nhưng bây giờ nói chung hơn, làm thế nào một người khác có thể nối ba chuỗi "hi" "\" và "mẹ"? Là file.path cách duy nhất để đặt một dấu gạch chéo giữa các chuỗi? –

+2

Lưu ý rằng 'nchar (" \\ ")' vẫn là 1, vì vậy mặc dù nó có vẻ khác nhưng nó vẫn thực sự là một dấu gạch chéo đơn. – James

+0

Cảm ơn, tôi đã cập nhật câu hỏi của mình để đưa các ví dụ vào mã divs để chứng minh rằng tôi hiểu rằng ... vẫn còn câu hỏi tồn tại tại sao dán không hoạt động như tôi mong đợi nó đến –

Các vấn đề liên quan