Как обойти ошибку отказа в разрешении?

В следующем примере шейп-файл точки записывается на диск. Однако я получаю сообщение об ошибке, когда скрипт пытается записать шейп-файл в C:/. Хотя я могу писать на внешний жесткий диск (G:/). Ниже приведена ошибка, которую я получаю в R:

Ошибка в файле (out.name, "wb"): невозможно открыть соединение. Кроме того: Предупреждающее сообщение: В файле (out.name, "wb"): невозможно открыть файл 'c:/test.shp': Отказано в доступе

Как обойти или устранить эту ошибку?

# available from: cran.r-project.org/web/packages/shapefiles/shapefiles.pdf
# Samples of using the convert.to.shapefile function to write out simple shapefiles
# from basic R data.frames

require(shapefiles)
require(maptools)

dd <- data.frame(Id=c(1,2),X=c(3,5),Y=c(9,6))
ddTable <- data.frame(Id=c(1,2),Name=c("Item1","Item2"))
ddShapefile <- convert.to.shapefile(dd, ddTable, "Id", 1)
write.shapefile(ddShapefile, "C:/test", arcgis=T)
shape <- readShapePoints("C:/test")
plot(shape)

person Borealis    schedule 02.01.2013    source источник
comment
это вопрос R или вопрос Windows? В противном случае у вас есть доступ для записи в корневой каталог диска C:?   -  person Ben Bolker    schedule 02.01.2013
comment
Это вопрос Windows. Вероятно, UAC предотвращает изменение каталога корневого уровня.   -  person Matthew Lundberg    schedule 02.01.2013
comment
Я добавил тег окна. Я не уверен, какова основная причина этой ошибки.   -  person Borealis    schedule 02.01.2013
comment
если, как я подозреваю, writeLines(c("a","b"),con="C:/test.txt") не работает с той же ошибкой, возможно, вы подумаете о пересмотре своего вопроса (поскольку в этом случае корень проблемы не будет иметь абсолютно никакого отношения к пакету шейп-файла)?   -  person Ben Bolker    schedule 02.01.2013


Ответы (1)


Простой ответ: не пишите в корневой каталог системного тома.

Есть несколько веских причин для создания файлов/каталогов в корне C:, но это не одна из них. Вместо этого используйте C:/Temp/test.

person Matthew Lundberg    schedule 02.01.2013